¿Alguien puede decirme por qué no se ejecuta la consulta en el siguiente código php?
Frecuentes
Visto 49 equipos
0
<html>
<head>
<title>
Welcome
</title>
</head>
<body>
<?php
$fn=$_POST['f_name'];
$ln=$_POST['l_name'];
$gen=$_POST['sex'];
$dob=$_POST['dob'];
$em=$_POST['email'];
$un=$_POST['u_name'];
$pd=$_POST['pswd'];
$mb=$_POST['mob'];
$con=mysqli_connect('localhost','username','password','db')
or die("Error connecting to database");
$query="INSERT INTO user_details(First_Name, Last_Name, Gender, DOB, Email_Address,
Username, Password, Mobile_No) VALUES
('$fn','$ln','$gen','$dob','$em','$un',SHA('$pd'),'$mb')";
echo $gen;
$result=mysqli_query($con,$query)
or die("Error querying the database");
mysqli_close($con);
$name=$fn.' '.$ln;
echo "<b>Welcome $name</b>";
?>
</body>
</html>
Lo que intento hacer en este código es tomar datos de un formulario HTML y almacenarlos en una base de datos MYSQL. Incluso revisé minuciosamente mi base de datos en busca de conflictos de tipo o problemas de longitud de tipo de datos, pero aún no lo entiendo. No sé por qué se muestra >> ¿Error al consultar la base de datos? Gracias por adelantado.
3 Respuestas
3
Cambiar
$result=mysqli_query($con,$query)
or die("Error querying the database");
a
$result=mysqli_query($con,$query)
or die($mysqli->error);
Esto le proporcionará el mensaje de error exacto del servidor. los docs están aquí
contestado el 03 de mayo de 12 a las 15:05
1
Primero, debe usar declaraciones preparadas con mysqli. Es muy simple de hacer.
En segundo lugar, debes usar ...or die($mysqli->error)
para ver el mensaje de error.
contestado el 03 de mayo de 12 a las 15:05
0
un código adecuado de alguien que tenga una pista para obtener el mensaje de error en caso de una consulta fallida
$result = mysqli_query($con,$query)
or trigger_error(mysqli_error($con)." ".$query);
contestado el 03 de mayo de 12 a las 16:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas php mysql or haz tu propia pregunta.
mysql_error()
le dirá qué error mysql le está dando - John CondeNo veo ninguna forma.... - Manse
$resultado=mysqli_query($con,$consulta) or die(mysql_error()); para obtener el error exacto. - Adnan
¿Por qué estás construyendo una cadena de consulta grande y desagradable como esa con mysqli? Simplemente use declaraciones preparadas y las cosas se vuelven mucho más seguras y fáciles. - Cylindric
@Cylindric más fácil? ¿Por qué las declaraciones preparadas son más fáciles? ¿Puede mostrar el código que usa declaraciones preparadas de mysqli y que en realidad es más corto que una consulta simple? - Your Common Sense