Foros del Web » Programando para Internet » PHP »

Donde fallo?

Estas en el tema de Donde fallo? en el foro de PHP en Foros del Web. Hola esto es mi primer programa para bases de datos pero no me funciona : @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original <?php include ( '../c.php' ...
  #1 (permalink)  
Antiguo 30/09/2012, 11:22
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 10 meses
Puntos: 29
Donde fallo?

Hola esto es mi primer programa para bases de datos pero no me funciona :

Código PHP:
Ver original
  1. <?php
  2. include('../c.php');
  3. $con=mysql_connect($host,$user,$pass,$bd) or die('Error al conectar con el servidor!');
  4. $b=mysql_select_db($bd,$con);
  5. $p=$_POST['producto'];
  6. $pr=$_POST['precio'];
  7. $n=$_POST['numero'];
  8. $guardar=mysql_query('INSERT INTO "$bd"."prueba" ("objeto","precio","numero") VALUES ("$p","$pr","$n")') or die('Datos no insertados!');
  9. if($guardar){print'Datos insertados';}
  10.  
  11. ?>

Siempre me devuelve "Datos no insertados!"

Me podeis ayudar a solucionar el problema ???

Saludos
  #2 (permalink)  
Antiguo 30/09/2012, 11:39
marcofbb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Donde fallo?

Código PHP:
Ver original
  1. Cambia $guardar=mysql_query('INSERT INTO "$bd"."prueba" ("objeto","precio","numero") VALUES ("$p","$pr","$n")') or die('Datos no insertados!');

por

Código PHP:
Ver original
  1. mysql_query('INSERT INTO "$bd"."prueba" ("objeto","precio","numero") VALUES ("$p","$pr","$n")') or die(mysql_error());

Y dinos que error te da, también acordase que cuando tenes ' (comillas simples) tenes que cerrarlas para imprimir una variable. Es decir tenes un error en el la sintax del SQL. Proba de esta forma:

mysql_query("INSERT INTO {$bd}prueba ('objeto','precio','numero') VALUES ('$p','$pr','$n')") or die(mysql_error());

Última edición por marcofbb; 30/09/2012 a las 11:43 Razón: Agrego datos
  #3 (permalink)  
Antiguo 30/09/2012, 13:05
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 10 meses
Puntos: 29
Respuesta: Donde fallo?

Cita:
Iniciado por marcofbb Ver Mensaje
Código PHP:
Ver original
  1. Cambia $guardar=mysql_query('INSERT INTO "$bd"."prueba" ("objeto","precio","numero") VALUES ("$p","$pr","$n")') or die('Datos no insertados!');

por

Código PHP:
Ver original
  1. mysql_query('INSERT INTO "$bd"."prueba" ("objeto","precio","numero") VALUES ("$p","$pr","$n")') or die(mysql_error());

Y dinos que error te da, también acordase que cuando tenes ' (comillas simples) tenes que cerrarlas para imprimir una variable. Es decir tenes un error en el la sintax del SQL. Proba de esta forma:

mysql_query("INSERT INTO {$bd}prueba ('objeto','precio','numero') VALUES ('$p','$pr','$n')") or die(mysql_error());


Gracias por tu respuesta :)

Ahora cambie el codigo de esta manera como me dijiste :

Código PHP:
Ver original
  1. <?php
  2. include('../c.php');
  3. $con=mysql_connect($host,$user,$pass,$bd) or die('Error al conectar con el servidor!');
  4. $b=mysql_select_db($bd,$con);
  5. $p=$_POST['producto'];
  6. $pr=$_POST['precio'];
  7. $n=$_POST['numero'];
  8. mysql_query('INSERT INTO "'.$bd.'"."prueba" ("objeto","precio","numero") VALUES ("'.$p.'","'.$pr.'","'.$n.'")') or die(mysql_error());
  9.  
  10. ?>

Y el error que me imprime es este :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"u171863611_prueba"."prueba" ("objeto","precio","numero") VALUES ("coche","1.23"' at line 1

coche y 1.23 son los valores enviados en los campos(ejemplos) pero no me muestra el tercer valor : numero

Saludos
  #4 (permalink)  
Antiguo 30/09/2012, 13:16
marcofbb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Donde fallo?

Estas haciendo mal la sintax SQL, estas poniendo el nombre de la base de datos, cuando va el nombre de la tabla.

Te recomiendo leer un manual de MySQL
http://www.marcofbb.com.ar/mysql-introduccion-sql/

Saludos

Etiquetas: sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:39.