提问者:小点点

无法使用Php检查MySql中是否存在用户[重复]


我正在使用php和mysql从服务器获取数据。我试图在数据库中插入数据,但是在插入之前我正在检查数据库中是否已经存在用户,但是我得到以下错误:

<b>Warning</b>: mysqli_num_rows() expects parameter 1 to be mysqli_result, string given in
<b>C:\xampp\htdocs\qrius\Users.php</b> on line <b>12</b><br />
 Unable  to auhtenticate

下面是我的代码:

<?php

    require_once('dbconfig.php');

    $uid = $_POST['uid'];
    $name = $_POST['name'];
    $email = $_POST['email'];


    $row = "SELECT * FROM users where email == '$email'";

    if(mysqli_num_rows($row) > 1){

             echo 'User exists';
    }
   else{

     $sql = "INSERT INTO `users` (`userid`, `name`, `email`)
        VALUES ($uid, $name, $email)";

   $result = mysqli_query($con,$sql);

   if($result){

    echo 'User created';
   }
   else{

     echo 'Unable  to auhtenticate';
   }
   
     exit();     
   }         
 ?>

有人请让我知道我做错了什么。任何帮助都将不胜感激。

谢谢


共1个答案

匿名用户

您没有调用$rowsql

<?php
require_once('dbconfig.php');

$uid = $_POST['uid'];
$name = $_POST['name'];
$email = $_POST['email'];
$row = "SELECT * FROM users where email == '$email'";
$row_result = mysqli_query($con, $row);

if (mysqli_num_rows($row_result) > 1) {
    echo 'User exists';
} else {
    $sql = "INSERT INTO `users` (
        `userid`, 
        `name`, 
        `email`
    ) VALUES ($uid, $name, $email)";
    $result = mysqli_query($con, $sql);
    if ($result) {
        echo 'User created';
    } else {
        echo 'Unable  to auhtenticate';
    }
    exit();
}

希望这有帮助