PHP - Problema con Uncaught TypeError: mysqli_num_rows()

 
Vista:
sin imagen de perfil

Problema con Uncaught TypeError: mysqli_num_rows()

Publicado por Eliana (2 intervenciones) el 09/10/2021 00:10:54
He cambiado el codigo mil veces intentando solucionarlo y cada vez me vuelve a poner problemas por lo mismo no sé que estoy haciendo mal, es un simple login con conexión a PMA

LA PARTE PHP
<?php

$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "sistema_control";

$conn = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
if (!$conn)
{
die("No hay conexión: ".mysqli_connect_error());
}

$user = $_POST["txtusuario"];
$pass = $_POST["txtpassword"];

$query = mysqli_query($conn,"SELECT * FROM usuarios WHERE usuario = '$user' AND password = '$pass'");
$result = mysqli_num_rows($query);

if($result > 0)
{
$data = mysql_fetch_array($query);
print_r($data);
}

?>

CAMPOS DE LA TABLA `usuarios`(`dni_usuario`, `usuario`, `nombre`, `apellido`, `clave`, `estado`, `rol`), usuario y clave varchar


LA PAGINA HTML
<center>
<form method="post" action="login.php">
<table>
<tr><td colspan="2" style="background-color:#33A8DB; padding-bottom:5px; padding-top:5px;">
<label>Login</label></td>
</tr>
<tr><td align="center" rowspan="5"><img src="candado2.png"/></td>
<td><label>Usuario</label></td>
</tr>
<tr><td><input type="text" name="txtusuario"/></td></tr>
<tr><td><label>Password</label></td></tr>
<tr><td><input type="password" name="txtpassword" /> </td></tr>
<tr><td><input type="submit" value="Ingresar" /> </td></tr>
</table>
</form>
</center>


error
tabla
html
php
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Problema con Uncaught TypeError: mysqli_num_rows()

Publicado por Mauro (1037 intervenciones) el 12/10/2021 14:59:17
Hola Elena!

Dos cosas se me ocurren:

1 - ¿Qué versión de php estás usando?
2 - El script login.php que estás mostrando ¿es el mismo del que muestras la ejecución? La línea 24 sólo contiene una } y el único mysqli_num_rows que veo está en la línea 18.

Por otra parte, nota que mysqli_num_rows retorna un objeto tipo mysqli_result en caso de éxito o false en caso de fallo.

Te conviene verificar, antes de avanzar, que dicho resultado no sea false.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 393
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema con Uncaught TypeError: mysqli_num_rows()

Publicado por Jefferson (203 intervenciones) el 12/10/2021 16:33:08
Hola amigo y con el permiso del maestro Mauro.

Según leo estas usando dos extensiones (versiones) diferentes y por ende nunca va a calar un resultado.

mysqli_query vs mysql_fetch_array no se comunican.

Deberías usar una sola versión.

Prueba y comentas, lo escribí desde mi teléfono sin probar.

1
2
3
4
5
6
7
$query = "SELECT * FROM usuarios WHERE usuario = '$user' AND password = '$pass'";
$result = $conn->query($query);
 
if ($result->num_rows > 0) {
    $data = mysqli_fetch_array($result, MYSQLI_ASSOC);
    print_r($data);
}

Saludos Desde Venezuela
Jefferson Jiménez
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Problema con Uncaught TypeError: mysqli_num_rows()

Publicado por Eliana (2 intervenciones) el 12/10/2021 16:35:56
Gracias a ambos ya pude solucionar el problema !
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar