Insert Mysql [PHP]

Iniciado por Ari Slash, 7 Enero 2010, 20:42 PM

0 Miembros y 1 Visitante están viendo este tema.

Ari Slash

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 (sql) [Seleccionar]
temas(id,nombre)
    PK=id (int)
    NN=nombre(varchar)

mensajes(id,numero,autor,cuerpo)
    PK=id (int) + numero (int)
    NN=autor (varchar),cuerpo (varchar)
    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 (php) [Seleccionar]
<?php
session_start
();
$tema=$_SESSION["tema"];
$autor=$_POST["autor"];
$mensaje=$_POST["mensaje"];
$conexión=mysql_connect('localhost','root','xxxx')or die ('Problemas de conexion: '.mysql_error());
mysql_select_db('foro')or die ('No existe la Base de Datos: '.mysql_error());

$resultado=mysql_query("SELECT * FROM mensajes WHERE id='.$tema.'");
$totalm mysql_num_rows($resultado);
$consulta mysql_query('INSERT INTO mensajes (id,numero,autor,cuerpo) VALUES ('.$tema.','.$totalm.',"'.$autor.'","'.$mensaje.'")');
mysql_close($conexión);
if (
$consulta){
?>

<script>
   location.href="/temas.php?tema=<?php echo $_SESSION["tema"]; ?>";
   </script>
   <?php 
} else {
?>

<script>
   alert('Hubo un problema al enviar mensaje, intente de nuevo.');
   history.go(-1);
   </script>
   <?php 
}
?>



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
   

Shell Root

#1
Cita de: Ari-Slash en  7 Enero 2010, 20:42 PMbueno 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 (php) [Seleccionar]
$consulta = mysql_query('INSERT INTO mensajes (id,numero,autor,cuerpo) VALUES ('.$id.', '.$Numero.', '.$Autor.', '.$Cuerpo.')')

Saludos!
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Ari Slash

#2
hola

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

era esta
$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 (sql) [Seleccionar]
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

Shell Root

Cita de: Ari-Slash en  7 Enero 2010, 20:48 PMes que copie y pege mal

$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 (sql) [Seleccionar]
INSERT INTO mensajes (id,numero,autor,cuerpo) VALUES (1,3,"Ari-Slash","Hola");

Intenta Así:

Código (php) [Seleccionar]
$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!
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Ari Slash

perdon no me lo vas a creer pero me funciono  :xD

gracias gracias  ;D

Cita de: Shell Root en  7 Enero 2010, 20:52 PM
PD1: No olvides cerrar los ( )

faltaba tan solo 1 parentesis jajajaj  :-X


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



saludos

Shell Root

Cita de: Ari-Slash en  7 Enero 2010, 20:54 PMperdon no me lo vas a creer pero me funciono  :xD
:silbar:

Cita de: Ari-Slash en  7 Enero 2010, 20:54 PMfaltaba tan solo 1 parentesis jajajaj  :-X
Seee Error comun... xD

Cita de: Ari-Slash en  7 Enero 2010, 20:54 PMgracias por tu ayuda me alegraste el dia   ;D  ;D
jajaja no hay de qué...

Saludos!
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.