Problema subiendo noticias a BD Mysql :(

aldaris
28 de Mayo del 2004
Saludos.

Tengo un problema cuando tengo que subir noticias de un formulario a mi base de datos. En si no me da ningún error, pero lo que ocurre es que si quiero subir el contenido de la variable $noticia, lo que hace es subirme el nombre de la variable.

El script es el siguiente:

echo $titulo;
$sql = 'INSERT INTO `noticias` ( `id` , `titulo` , `fecha` , `enalce` , `noticia` , `categoria` ) ';
$sql .= 'VALUES ( \'id+1\', \'$titulo\', NOW( ) , \'$enlace\', \'$noticia\', \'$categoria\' );';
$sql .= '';
mysql_query($sql,$idconnect)

Si luego miro en la base de datos, me ha incluido todos los campos con el contenido "$titulo","$enlace", etc... y no con el contenido de las variables. Sin embargo, puse un echo $titulo; al principio del script para ver si recibía los valores correctos desde el formulario, y lo escribe correctamente.

No lo entiendo. He probado de mil maneras y siempre me ocurre lo mismo. ¿Alguien sabe a que puede ser debido?

Gracias de antemano.

vlc
28 de Mayo del 2004
Tu problema son las comillas. A mi me pasa continuamente. Prueba asi:

echo $titulo;
$sql = "INSERT INTO `noticias` ( `id` , `titulo` , `fecha` , `enlace` , `noticia` , `categoria` ) ";
$sql .= "VALUES ( id+1, '$titulo', NOW( ) , '$enlace', '$noticia', '$categoria' );";
$sql .= '';
mysql_query($sql,$idconnect)

aldaris
28 de Mayo del 2004
Ahora toy en clase y no puedo probarlo, pero creo que esa sentencia que me pones ya la he probado. Y en ese caso lo que ocurría era que no daba ningún fallo, pero no se metía ningun dato dentro de la base de datos.

De todos modos, cuando llegue a casa lo probaré por si acaso.

Gracias :)

xxxNeOxxx
28 de Mayo del 2004
hola, prueba concatenando, asi no tendras problemas con las comillas.
$sql="INSERT INTO loquesea VALUE('".$valor1."','".$valor2."')";

No se si me escapa alguna, porque se ve muy pequeño

aldaris
28 de Mayo del 2004
Gracias!!
Ha sido con una mezcla de lo que me habéis dicho los dos. Ha funcionado de éste modo:

$sql="INSERT INTO noticias VALUES('id+1','$titulo',NOW(),'$enlace','$noticia','$categoria')";
mysql_query($sql,$idconnect)

Muchas gracias :D