Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: Ari Slash en 7 Enero 2010, 20:42 pm



Título: Insert Mysql [PHP]
Publicado por: Ari Slash en 7 Enero 2010, 20:42 pm
Buenas

espero que me puedan ayudar, no se si hay un error en una consulta, no me funciona, estoy haciendo una especie de tema de foro donde se puede postear sin estar registrado, lo hice lo mas basico posible para despues empezar a agregar las demas cosas  :)

mi datos de mysql, los mostrare en un esquema logico:

Código
  1. temas(id,nombre)
  2.     PK=id (INT)
  3.     NN=nombre(VARCHAR)
  4.  
  5. mensajes(id,numero,autor,cuerpo)
  6.     PK=id (INT) + numero (INT)
  7.     NN=autor (VARCHAR),cuerpo (VARCHAR)
  8.     FK= id (INT) referencia a temas

por ende un tema debe tener por lo menos 1 mensaje y cada mensaje debe tener 1 tema (lo hice de tal manera que el mensaje numero 0 sea el del inicio del tema)

ahora el php que me falla o la consulta que no se cual de los dos es xD :

este es el mensaje.php el cual hace las inserciones de datos a cada tema
las variables las paso por session y otras por post:

Codigo ya reparado
Código
  1. <?php
  2. $tema=$_SESSION["tema"];
  3. $autor=$_POST["autor"];
  4. $mensaje=$_POST["mensaje"];
  5. $conexión=mysql_connect('localhost','root','xxxx')or die ('Problemas de conexion: '.mysql_error());
  6. mysql_select_db('foro')or die ('No existe la Base de Datos: '.mysql_error());
  7.  
  8. $resultado=mysql_query("SELECT * FROM mensajes WHERE id='.$tema.'");
  9. $totalm = mysql_num_rows($resultado);
  10. $consulta = mysql_query('INSERT INTO mensajes (id,numero,autor,cuerpo) VALUES ('.$tema.','.$totalm.',"'.$autor.'","'.$mensaje.'")');
  11. mysql_close($conexión);
  12. if ($consulta){
  13. ?>
  14. <script>
  15.    location.href="/temas.php?tema=<?php echo $_SESSION["tema"]; ?>";
  16.    </script>
  17.    <?php
  18. } else {
  19. ?>
  20. <script>
  21.    alert('Hubo un problema al enviar mensaje, intente de nuevo.');
  22.    history.go(-1);
  23.    </script>
  24.    <?php
  25. }
  26. ?>


bueno esta consulta
$consulta = mysql_query('INSERT INTO mensajes (id,numero,autor,cuerpo)
si la pruebo en la consola de mysql anda bien, o sea funciona,

ojala me puedan ayudar  ;D

gracias de antemano por la dedicacion de leer el post


saludos
    


Título: Re: Insert Mysql [PHP]
Publicado por: Shell Root en 7 Enero 2010, 20:44 pm
bueno esta consulta
$consulta = mysql_query('INSERT INTO mensajes (id,numero,autor,cuerpo)
si la pruebo en la consola de mysql anda bien, o sea funciona,

1. Donde estan los Parametros
2. Verifica el inicio y finalizacion de las comillas simples

Ejemplo: Creo que es así... :·P hace rato que no uso PHP
Código
  1. $consulta = mysql_query('INSERT INTO mensajes (id,numero,autor,cuerpo) VALUES ('.$id.', '.$Numero.', '.$Autor.', '.$Cuerpo.')')

Saludos!


Título: Re: Insert Mysql [PHP]
Publicado por: Ari Slash en 7 Enero 2010, 20:48 pm
hola

gracias por la respuesta
es que copie y pege mal  :xD

era esta
Código:
$consulta = mysql_query('INSERT INTO mensajes (id,numero,autor,cuerpo) VALUES ('.$tema.','.$totalm.',"'.$autor.'","'.$mensaje.'"');

o sea en la consola mysql la uso asi
Código
  1. INSERT INTO mensajes (id,numero,autor,cuerpo) VALUES (1,3,"Ari-Slash","Hola");

y me corre bien inserta todo correctamente

edito:

gracias por el codigo
pero los atributos autor y cuerpo son de tipo varchar y deben estar entre comillas :S


saludos


Título: Re: Insert Mysql [PHP]
Publicado por: Shell Root en 7 Enero 2010, 20:52 pm
es que copie y pege mal

Código:
$consulta = mysql_query('INSERT INTO mensajes (id,numero,autor,cuerpo) VALUES ('.$tema.','.$totalm.',"'.$autor.'","'.$mensaje.'"');

o sea en la consola mysql la uso asi
Código
  1. INSERT INTO mensajes (id,numero,autor,cuerpo) VALUES (1,3,"Ari-Slash","Hola");

Intenta Así:

Código
  1. $consulta = mysql_query('INSERT INTO mensajes (id,numero,autor,cuerpo) VALUES ('.$tema.','.$totalm.','.$autor.','.$mensaje.')');

PD1: No olvides cerrar los ( )
PD2: Id = Tema? Pwned!

Saludos!


Título: Re: Insert Mysql [PHP]
Publicado por: Ari Slash en 7 Enero 2010, 20:54 pm
perdon no me lo vas a creer pero me funciono  :xD

gracias gracias  ;D

PD1: No olvides cerrar los ( )

faltaba tan solo 1 parentesis jajajaj  :-X


gracias por tu ayuda me alegraste el dia   ;D  ;D  ;D



saludos


Título: Re: Insert Mysql [PHP]
Publicado por: Shell Root en 7 Enero 2010, 20:58 pm
perdon no me lo vas a creer pero me funciono  :xD
:silbar:

faltaba tan solo 1 parentesis jajajaj  :-X
Seee Error comun... xD

gracias por tu ayuda me alegraste el dia   ;D  ;D
jajaja no hay de qué...

Saludos!