Foros del Web » Programando para Internet » PHP »

POr qué ...?

Estas en el tema de POr qué ...? en el foro de PHP en Foros del Web. Por qué esto me devuelve siempre "no se pudo insertar nada en la Base de Datos" Código PHP: <?php  $host  =  "localhost" ;   $user  ...
  #1 (permalink)  
Antiguo 17/07/2003, 22:35
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Desacuerdo POr qué ...?

Por qué esto me devuelve siempre "no se pudo insertar nada en la Base de Datos"
Código PHP:
<?php
 $host 
"localhost";
 
$user "";
 
$pass "";
 
$dbase "tinogrm";
 
 
$conecta mysql_connect($host,$user,$pass) || die("No puedo conectarme a la Base de Datos ".$dbase"en estos momentos <br>"mysql_error());
 
mysql_select_db($dbase);
 
$query "INSERT INTO librovisitas(name,email,url,comentarios)"."VALUES('$name','$email','$url','$comments')";
 if (
mysql_query($query))
  echo 
"Datos introducidos";
 else 
  echo 
"No se pudo introducir nada";
 
mysql_close();
?>
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 17/07/2003, 23:22
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 3 meses
Puntos: 5
Separa VALUE de los parentesis de antes y despues...

BIEN:
(tal,cual) VALUES ('$tal','$cual')


MAL:
(tal,cual)VALUES('$tal','$cual')
__________________
Manoloweb
  #3 (permalink)  
Antiguo 18/07/2003, 06:09
 
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona - España
Mensajes: 270
Antigüedad: 21 años, 5 meses
Puntos: 0
Te sobran el punto y las " de antes de VALUES
  #4 (permalink)  
Antiguo 18/07/2003, 11:51
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Y ahora ....

Lo puse así
Código PHP:
<?php
 $host 
"localhost";
 
$user "";
 
$pass "";
 
$dbase "tinogrm";
 
 
$conecta mysql_connect($host,$user,$pass) || die("No puedo conectarme a la Base de Datos ".$dbase"en estos momentos <br>"mysql_error());
 
mysql_select_db($dbase);
 
$query "INSERT INTO librovisitas(name,email,url,comentarios) VALUES ('$name','$email','$url','$comments')";
 if (
mysql_query($query))
  echo 
"Datos introducidos";
 else 
  echo 
"No se pudo introducir nada";
 
mysql_close();
?>
y me pone:
No se pudo introducir nada
__________________
Ing. Reynier Pérez Mira
  #5 (permalink)  
Antiguo 18/07/2003, 11:56
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 3 meses
Puntos: 5
Ahi te va mi sugerencia...

Código PHP:
<?php
 $host 
"localhost";
 
$user "";
 
$pass "";
 
$dbase "tinogrm";
 
 
$conecta mysql_connect($host,$user,$pass) || die("No puedo conectarme a la Base de Datos ".$dbase"en estos momentos <br>"mysql_error());
 
mysql_select_db($dbase);
 
$query "INSERT INTO librovisitas(name,email,url,comentarios) VALUES ('$name','$email','$url','$comments')";
 if (
$qr=mysql_query($query)){
  echo 
"Datos introducidos";
} else {
  echo 
"No se pudo introducir nada, mysql ha dicho: ".mysql_error($qr);
}
 
mysql_close();
?>
__________________
Manoloweb
  #6 (permalink)  
Antiguo 18/07/2003, 13:13
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Ahora me pone esto otro

Ahora me pone esto otro:

Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in c:\program files\apache group\apache\htdocs\jc\librovisitas\sign.php on line 13
No se pudo introducir nada, mysql ha dicho:

¿Y?

Ya no se que hacer
__________________
Ing. Reynier Pérez Mira
  #7 (permalink)  
Antiguo 18/07/2003, 13:48
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Ha sido un pequeño desliz de Manoloweb. Cuando te digan que uses una funcion que no conoces, lo primero que tienes que hacer es mirar el manaul oficial para ver la sintaxis y los parametros que acepta. Si vistas www.php.net/mysql_error veras que solo tiene un parametro que es opcional, y que ese parametro es el identificador del link a MySQL (lo que te dice el mensaje de error, por cierto). Eso es lo que te devuelve mysql_connect(), en tu caso $conecta. Asi que podrias haber usado:
Código PHP:
mysql_error();
// o
mysql_error($conecta); 
Nunca des por sentado que un codigo que te den como respuesta este 100% libre de errores o fallos de sintaxis. Cuando alguien contesta a un mensaje puede que este sin tiempo y con las prisas cometan algun desliz. Tomate los codigos como guias. Estudialos y luego aplicalo a tu caso. Ya se que es mas facil reclamar al foro que no te funciona. Pero es la mejor forma de aprender.

Saludos.

PD: <broma>Manoloweb, devuelve el dinero al pobre chico, que le has vendido un codigo que no funciona </broma>
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #8 (permalink)  
Antiguo 18/07/2003, 18:14
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Gracias

Muchas gracias Josemi. Valga que en el mundo hay personas como tú que prestan su ayuda a aquellos que recién empiezan a entrar en el mundo de PHP. Ya hice lo que me dijiste y me funciona ok.
__________________
Ing. Reynier Pérez Mira
  #9 (permalink)  
Antiguo 18/07/2003, 21:48
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 3 meses
Puntos: 5


Venga amigo, que a veces se me va una...




PD.- Otras veces se me van varias...
__________________
Manoloweb
  #10 (permalink)  
Antiguo 19/07/2003, 04:40
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
tb lo puedes hacer asi... a mi me gusta mas,,, no se si tendra alguna diferencia, pero me funciona bien:
Código PHP:
mysql_query("INSERT INTO $sql_tabla values('', '$nombrew', '$nick', '$pass1', '$email', '$date', '$descripcion', '$urlweb', '$ip', '$nivel_acceso', '$visitas', '$nombre', '$votos')") or die(mysql_error()); 
asi lo hago directamente y me ahorro ( ), no es por no escribir... es por leer mejor el codigo...
__________________
3w.valenciadjs.com
3w.laislatv.com

Última edición por nuevo; 19/07/2003 a las 04:44
  #11 (permalink)  
Antiguo 19/07/2003, 13:13
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

nuevo, con tu forma tienes que especificar todos los campos de la tabla y en el orden en que los definiste en la tabla. De la otra forma, puedes especificar solo unos campos y en el orden que te de la gana.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 07:36.