用mysqli_替换mysql_result?

时间:2014-01-08 17:15:26

标签: php mysql mysqli fetch

我将mysql_result替换为正确的mysqli_?命令时遇到问题。感觉就像我尝试了一切,但似乎没有任何工作。我正在用它来检查是否为登录系统采用了用户名,如下所示:

   $sql = "SELECT COUNT(*) FROM members WHERE user='{$_POST['user']}'";
   $result = mysqli_query($con, $sql);
   if (mysql_result($result, 0) > 0) {
     $reg_error[] = 1;
   }

我尝试过使用mysqli_fetch_assocmysqli_num_rows,我试图改变整个事情,但没有任何工作,所以我转向你们。

对于我尝试过的所有内容,即使用户名已经存在,我的脚本仍会创建用户。

无论如何都有解决这个问题的方法吗?

2 个答案:

答案 0 :(得分:2)

这是我用来检查用户名是否存在的原因。

$user= mysqli_real_escape_string($con, $_POST['user']);

$result = mysqli_query($con, "SELECT * FROM `members` WHERE `user`='$user'");

if ($result->num_rows)
  {
echo "ID exist!";
} 
  else
   {
     echo "ID doesnt exist!"
   }

并/或

$user= mysqli_real_escape_string($con, $_POST['user']);

$query = mysqli_query($con, "SELECT * FROM `members` WHERE `user`='".$user."'");

if(mysqli_num_rows($query) > 0){

    echo "email already exists";
}else{

// do something here

}

答案 1 :(得分:0)

也许你可以试试

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

然后检查$ row

中的值