Foros del Web » Programando para Internet » PHP »

Problemas con alta de PHP en MySQL

Estas en el tema de Problemas con alta de PHP en MySQL en el foro de PHP en Foros del Web. Tengo PHP andando bajo Linux Tengo el siguiente problema... me conecto con la BD en MySQL sin problemas con el siguiente script Conexion con BD ...
  #1 (permalink)  
Antiguo 11/11/2003, 22:49
 
Fecha de Ingreso: noviembre-2003
Mensajes: 3
Antigüedad: 20 años, 5 meses
Puntos: 0
De acuerdo Problemas con alta de PHP en MySQL

Tengo PHP andando bajo Linux

Tengo el siguiente problema... me conecto con la BD en MySQL sin problemas con el siguiente script

Conexion con BD
---------------

<?
if (mysql_connect("localhost","","")== true) {
print ("Connected successfully");}
else {
print ("Could not connect");}
?>

el mensaje de salida en satisfactorio "Connected successfully"

luego intento dar de alta un registro con el script

Insercion de Registro
---------------------

<HTML>
<HEAD>
<TITLE>Insertar.html</TITLE>
</HEAD>
<BODY>
<div align="center">
<h1>Insertar un registro</h1>
<br>
<FORM METHOD="POST" ACTION="insertar.php">
Nombre<br>
<INPUT TYPE="TEXT" NAME="nombre"><br>
Teléfono<br>
<INPUT TYPE="TEXT" NAME="telefono"><br>
<INPUT TYPE="SUBMIT" value="Insertar">
</FORM>
</div>
</BODY>
</HTML>

<HTML>
<HEAD>
<TITLE>Insertar.php</TITLE>
</HEAD>
<BODY>
<?
//Conexion con la base
mysql_connect("localhost","","");
//Ejecucion de la sentencia SQL
mysql_db_query("ejemplo","insert into clientes (nombre,telefono) values ('$nombre','$telefono')");
?>
<h1><div align="center">Registro Insertado</div></h1>
<div align="center"><a href="lectura.php">Visualizar el contenido de la base</a></div>
</BODY>
</HTML>

el mensaje que me devuelve es que el registro se inserto correctamente, pero cuando accedo a MySQL para comprobar la insercion me doy con que el registro no se inserto,... ¿que es lo que esta saliendo mal?... no tengo idea.
  #2 (permalink)  
Antiguo 11/11/2003, 23:12
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Bueno... el mensaje de que te ha insertado correctamente... sale sí o sí segúj el código que has puesto.

Mira... para ver los errores de Mysql agrega el die(mysql_error()).... en las líneas... también sería bueno que guardes el id de conexión en una variable para incluirlo en los mysql_query....

Tú código debería quedar así:
Código PHP:
<?
//Conexion con la base
$con=mysql_connect("localhost","","") or die("Error en la conexión :".mysql_error());
//Eliges la BD
mysql_select_db("ejemplo"$con) or die("Error en la seleccion de la BD :".mysql_error());
//Guardas la sentencia sql en una variable
//Esto se suele hacer para verificar que esté bien escrita con un "echo"
$sql="insert into clientes (nombre,telefono) values ('$nombre','$telefono')";
//Ejecucion de la sentencia SQL
mysql_query($sql$con) or die("Error en la consulta :".mysql_error());
?>
... y si hay algún error en Mysql pa insertar o pa conectarse, el script detendrá su ejecución y te avisará del error...

Saludos
  #3 (permalink)  
Antiguo 11/12/2008, 09:04
 
Fecha de Ingreso: diciembre-2007
Mensajes: 78
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Problemas con alta de PHP en MySQL

Sigo con mi iniciación en PHP. Me ocurre exactamente lo mismo que a Aragon (los datos no se insertan en la base de datos) por lo que he copiado el código de nuestro compañero jpinedo. Desgraciadamente ahora me dice:

Error en la consulta :Duplicate entry '' for key 1

y no hay mucho en la web donde buscar. Si sirve la base de datos la he creado con phpMyAdmin. Agradecería que me echaran un capote...
  #4 (permalink)  
Antiguo 11/12/2008, 09:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problemas con alta de PHP en MySQL

El error es claro, estas metiendo una entrada duplicada en tu llave primaria, si lees un poco acerca de bases de datos veras que las llaves primarias no se pueden duplicar, por lo que de alguna forma como estas insertando estas re-insertando la misma clave primaria, lo que crea un error de llaves duplicadas.

Saludos.
  #5 (permalink)  
Antiguo 11/12/2008, 09:38
 
Fecha de Ingreso: diciembre-2007
Mensajes: 78
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Problemas con alta de PHP en MySQL

Gracias por la respuesta GatorV, estoy empezando con bases de datos y todavía me faltan conocimientos.

No sé como he hecho lo de la llave primara pero me he cargado la base de datos y la he vuelto a crear, por lo que ahora ya no me da error pero me sigue sin insertar datos. ¿Algún consejo para que el código inicial funcione?
  #6 (permalink)  
Antiguo 11/12/2008, 10:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problemas con alta de PHP en MySQL

Pues a) sin ver tu bdd, b) sin ver el código que estas usando, es muy dificil saber el porque no inserta.

Saludos
  #7 (permalink)  
Antiguo 11/12/2008, 11:29
 
Fecha de Ingreso: diciembre-2007
Mensajes: 78
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Problemas con alta de PHP en MySQL

A continuación pantallazo de la base de datos, simple como ella misma (para verla más grande botón derecho -> Ver imagen):



El código es el mismo que figura en el primer mensaje de este tema (sacado de http://www.desarrolloweb.com/articulos/323.php) y me ocurre lo mismo. He probado con otro tutorial y he descubierto que en ambos casos sí se generan registros, pero SE QUEDAN VACÍOS , por lo que cuando quieres visualizar la tabla parece que este vacía. Pongo la mano en el fuego en que debo de estar cometiendo algún error de principiante...
  #8 (permalink)  
Antiguo 11/12/2008, 12:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problemas con alta de PHP en MySQL

Pues lee acerca de register_globals, debes de usar $_POST/$_GET para descargar los datos del formulario, en este caso si son por post por ejemplo $_POST['nombre'].

Saludos
  #9 (permalink)  
Antiguo 15/12/2008, 03:29
 
Fecha de Ingreso: diciembre-2007
Mensajes: 78
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Problemas con alta de PHP en MySQL

Era eso GatorV, gracias , he visto en el tutorial como funciona $_POST y la he incluido:

$nombre = $_POST["nombre"];
$telefono = $_POST["telefono"];

Extraño que no estuviera en el código original
  #10 (permalink)  
Antiguo 15/12/2008, 10:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problemas con alta de PHP en MySQL

Me alegra que ya haya quedado, el tema es muy viejo (2003) y espero que ya esto quede como solucion.

Tema cerrado.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 01:25.