php - mysql_select_db - mysqli connect
Tener un problema para hacer que mysqli_query se ejecute (3)
Aquí está el problema: comencé un intercambio hoy para usar mysqli. No hay problema, solo tuve que cambiar algunas afirmaciones. Todo salió bien, sin errores ... Excepto que no puedo hacer que ejecute ninguna consulta. He comprobado el doble y triple de mi sintaxis. Incluso comencé a crear situaciones en las que DEBERÍA devolver un error (Intentando que llegara a INSERTAR en tablas que no existen o con valores que excedían los límites de las columnas o no coincidían con el tipo) y ... nada. No devuelve un error, no escribe. Se quejará si el parámetro uno NO es un tipo mysqli.
Aquí está el código relevante:
$con = mysqli_connect("localhost", "root", "","test");
if (mysqli_connect_errno()) {
printf("Connect failed: %s/n", mysqli_connect_error());
exit();
}
$query = "INSERT INTO files VALUES (NULL, 5, ''hello'')";
mysqli_query($con, $query);
Y nada. Se ejecuta sin problemas, pero nunca escribe el registro. Incluso puedo cambiar la consulta $ a "hdjhkfhhjfkd" y no ejecuta ningún problema. mysqli_query () simplemente no se está ejecutando, punto. La única vez que puedo hacer que reaccione es si cambio $ con cualquier otra cosa, entonces se queja de que necesita un tipo mysqli.
¿Pensamientos? Esto me está volviendo loco.
¿Has comprobado el valor de retorno de mysqli_query ()? Devuelve FALSE si se produjo un error. En ese caso, mysqli_error() le brinda más información sobre el error.
<?php
$con = mysqli_connect("localhost", "root", "", "test");
if (mysqli_connect_errno()) {
printf("Connect failed: %s/n", mysqli_connect_error());
exit();
}
$query = "INSERT INTO files VALUES (NULL, 5, ''hello'')";
echo "<pre>Debug: $query</pre>/m";
$result = mysqli_query($con, $query);
if ( false===$result ) {
printf("error: %s/n", mysqli_error($con));
}
else {
echo ''done.'';
}
También he sufrido de este problema. Finalmente encontré que el problema ocurre en mi conexión a la base de datos . Puede utilizar este siguiente código de conexión para conectar la base de datos fácilmente.
$db_connect = mysqli_connect("host", "user", "password", "database");
Espero que este código te ayude. Si tienes algún problema deja un comentario. Gracias.
public function connection()
{
$con=mysqli_connect(''localhost'',''root'','''',''int'');
return $con;
}
public function login($u,$p)
{
$fd=$this->connection();
$sql = "SELECT * FROM user WHERE (uname = ''".$u."'' AND pass = ''".$p."'')";
$result = mysqli_query($fd,$sql);
$num = mysqli_num_rows($result);
if($num)
{
return TRUE;
}
else
{
return FALSE;
}
}