让我疯狂的错误 - 警告:MYSQLI_NUM_ROWS()将参数1视为MYSQLI_RESULT,INTEGER

时间:2016-07-29 01:47:01

标签: php mysql

我无法修复后续注册表单,它是一个基本表单,但它显示错误,用户保存密码和一切但我不断收到跟踪错误,无法找到错误的位置

    <?php 
    $locatario = mysqli_real_escape_string($database,$_POST['usuario']);
    $seguridad = mysqli_real_escape_string($database,$_POST['clave']);
    $privilegio = mysqli_real_escape_string($database,$_POST['tipo']);
    $revisar = mysqli_query($database, "SELECT locatario FROM locatarios
 WHERE locatario = '$locatario'");
    $existencia=mysqli_num_rows($revisar);
    if(mysqli_num_rows($existencia)>0){
echo "The username is taken";
    }else{
    $criptologia = hash('sha256', $seguridad); 
    function createSalt(){$metodo = md5(uniqid(rand(), true));return substr($metodo, 0, 14);}
    $codificar = createSalt();
    $transformar = hash('sha256', $codificar . $criptologia);  
    $insertar = mysqli_query($database, "INSERT 
INTO `locatarios` VALUES ('', '$locatario', 'Nombre', 
'$transformar', '$codificar', '$privilegio')");
    {echo "Now you are a new member";}
    }
    ?>

2 个答案:

答案 0 :(得分:1)

在下一行

中输入一个整数到mysqli_num_rows
if(mysqli_num_rows($existencia)>0){

替换为

if(mysqli_num_rows($revisar)>0){

执行此操作后,删除$existencia=mysqli_num_rows($revisar);行,因为它是多余的

答案 1 :(得分:0)

替换

 if(mysqli_num_rows($existencia)>0)

使用

if($existencia)