Foros del Web » Programando para Internet » PHP »

que hago mal??

Estas en el tema de que hago mal?? en el foro de PHP en Foros del Web. Tipico formulario en html este el el codigo <title>formulario</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <form action="insert.php" method="post" name="formulario" id="formulario"> <p> <input type="text" name="nombre"> </p> ...
  #1 (permalink)  
Antiguo 27/11/2003, 08:39
 
Fecha de Ingreso: octubre-2003
Ubicación: Granada
Mensajes: 481
Antigüedad: 21 años, 1 mes
Puntos: 1
que hago mal??

Tipico formulario en html este el el codigo

<title>formulario</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form action="insert.php" method="post" name="formulario" id="formulario">
<p>
<input type="text" name="nombre">

</p>
<p>
<input name="apellidos" type="text" id="apellidos">
</p>
<p>
<input name="dni" type="text" id="dni">
</p>
<input name="envio" type="submit" id="envio" value="Enviar">
</form>
</body>
</html>

y este es el php

<?php
// process form
$link = mysql_connect("localhost", "cristian", "");
mysql_select_db("empresa",$link);
$nombre = $_POST['nombre'];
$apellidos = $_POST['apellidos'];
$dni = $_POST['dni'];
$sql = "INSERT INTO clientes (nombre,apellidos,dni)"."VALUES('$nombre,'$apellid os','$dni')";
$result = mysql_query($sql, $link);
echo "¡Gracias! Hemos recibido sus datos.\n";
mysql_close();
?>

Me dice q ha recibido los datos pero luego hago la consulta y no ha ingresado nada...alguien sabe pq ??

Muchisimas Gracias Amigos
__________________
la duda es el principio del saber
  #2 (permalink)  
Antiguo 27/11/2003, 08:47
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 22 años, 5 meses
Puntos: 16
Hola,

Te muestra ese mensaje porque no has comprobado que se haya ejecutado correctamente la consulta. Usa mysql_error() (www.php.net/mysql_error) para ver el mensaje del posible error de MySQL:
Código PHP:
$result mysql_query($sql$link) or die("Error: $sql <br>MySQL dice: ".mysql_error()); 
Saludos.

PD: Cluster, tenemos que dejar de chocar.
__________________
Josemi

Aprendiz de mucho, maestro de poco.

Última edición por josemi; 27/11/2003 a las 09:03
  #3 (permalink)  
Antiguo 27/11/2003, 08:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Te genera el registro .. ? y no te ingresa los datos? .. o no genera el registro entero?

No es necesario que concatenes (.) la sentencia SQL que usas:
Código PHP:
$sql "INSERT INTO clientes (nombre,apellidos,dni) VALUES('$nombre,'$apellidos','$dni')"
Cuidado con la sintax SQL .. tal vez )VALUES sea correcto (que es lo que estabas generando) .. pero mejor usar un espacio ...

Y para salir de dudas si hay algún error de conexión o SQL usa preferentemente estructuras tipo:

Código PHP:
$result mysql_query($sql$link) or die (mysql_error()); 
Así con el mysql_error() verás si hay errores de SQL o conexión a tu BD.

Revisa que tus variables tengan el valor esperado .. Haciendo un simple echo a tu $sql lo puedes comprobar si esa sentencia SQL se forma correctamente.


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 27/11/2003, 09:06
 
Fecha de Ingreso: octubre-2003
Ubicación: Granada
Mensajes: 481
Antigüedad: 21 años, 1 mes
Puntos: 1
$sql = "INSERT INTO clientes (nombre,apellidos,dni) VALUES('$nombre,'$apellidos','$dni')";

me da el error aki con este resultado :

You have an error in your SQL syntax near 'Gomez','444444')' at line 1

Estoy revisando la sintaxis de SQL pero no veo el error alguien lo ve??
Un saludo
__________________
la duda es el principio del saber
  #5 (permalink)  
Antiguo 27/11/2003, 09:15
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 22 años, 5 meses
Puntos: 16
Pues yo si. ¿Cuantas comillas tiene $nombre?

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 12:59.