【问题标题】:"Can't use function return value in write context" when using mysqli_num_rows()使用 mysqli_num_rows() 时“不能在写上下文中使用函数返回值”
【发布时间】:2016-12-20 08:41:52
【问题描述】:

我一直在努力将用户添加到我的数据库中,并且我试图做一些事情来检查登录是否已经被占用。如果不是,PHP 应该将用户添加到数据库中,否则会提示登录已被使用。这是我的代码:

<?php
$servername = 'localhost';
$username = 'wiktor';
$password = 'wiktor';
$database = 'something';

$login = $_POST['login'];
$passwd = $_POST['pass'];
$name = $_POST['name']; 
$surname = $_POST['sur'];

$conn = new mysqli($servername, $username, $password, $database);

if ($conn->connect_error) {
    die("Error " . $conn->connect_error);
} else {
    echo "Connect success <br>";
}

$check = "select login from users where login = '$login'";
$test = $conn->query($check);

if(mysqli_num_rows($test) = 0){ 
    $sql = "insert into users 
    values (null,'$login','$passwd','$name','$surname')";

    if ($conn->query($sql) === TRUE) {
        echo "Success";
    } else {
        echo "Error " . $sql . "<br>" . $conn->error;
    }
} else {
    echo "The login is already in use!";
}
$conn->close();
?>

我在线收到“无法在写入上下文中使用函数返回值”

if(mysqli_num_rows($test) = 0)

检查该登录是否有任何记录。

我以前用过类似的东西,效果很好,那么现在可能是什么问题?

【问题讨论】:

  • if(mysqli_num_rows($test) =========== 0) ;) 因为您错误地尝试将 0 分配给该函数
  • 使用 == 比较 if(mysqli_num_rows($test) == 0){
  • 另一个我忽略的小错误,该死的,我在编码时需要多加注意。谢谢!
  • 不要使用 mysqli 太老了,你应该改用 PDO

标签: php html mysql forms login


【解决方案1】:

写这个

 if(mysqli_num_rows($test) == 0)

而不是,

 if(mysqli_num_rows($test) = 0)

【讨论】:

    猜你喜欢
    • 2014-09-08
    • 1970-01-01
    • 1970-01-01
    • 2012-09-08
    • 2010-12-04
    • 2015-04-13
    • 2023-03-12
    相关资源
    最近更新 更多