一尘不染

警告:mysql_result():提供的参数不是第4行(...)中的有效MySQL结果资源

mysql

大家好,只是想解决这个烦人的问题。这是我的摘录。

我检查了与我的错误类似的其他问题,但到目前为止,我无法解决它。

任何帮助深表感谢。:)

<?php 
function user_exists ($username) {
$username = sanitize($username);
return (mysql_result(mysql_query("SELECT COUNT(user_id) FROM users WHERE username =  $username"), 0) == 1) ? true : false;
}
?>

阅读 251

收藏
2020-05-17

共1个答案

一尘不染

您应该将代码分成更多行以处理这些错误或特殊情况。mysql_query将返回零到n行,如果发生则返回错误。因此,返回的 资源
仅在非错误查询中为true。这可用于处理如下情况。

首先建立并执行查询,然后再处理 资源

$query="SELECT COUNT(user_id) FROM users WHERE username = ".$username;
$result = mysql_query($query);

您可能会使用以下内容来确定发生错误的情况:

if(!$result) die("SELECT failed: ".mysql_error());

或这些想法来解决问题

if (!$result=mysql_query($query)) {
        return false; // or similar operation
    }

    if (mysql_num_rows($result)!=1){
        return false;
    }else{
        return true;
    }
2020-05-17