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

时间:2013-01-31 14:00:30

标签: php mysql function

  

可能重复:
  mysql_fetch_array() expects parameter 1 to be resource, boolean given in select

大家好,我希望你能帮助解决这个问题,就像你上一次那样。我正在尝试使用php进行用户注册,除此之外我做的一切都很好:

     Warning: mysql_result(): supplied argument is not a valid 
     MySQL result resource in 

首先,我试图做一个消毒功能,但它没有用。这是我的第一次尝试

    function user_exists ($username){
    $username = sanitize ($username);
    return (mysql_result(mysql_query("SELECT COUNT('id') FROM 'members' WHERE 
    'username' = '$username' "), 0) == 1) ? true : false;
    }

然后我虽然可以尝试使用mysql_real_escape_string,但后来发生了mysql_result错误,这让我发疯,因为我无法找到我的错误。这是我的mysql_real_escape_string代码:

     function user_exists ($username){
     $username = mysql_real_escape_string ($username);
     return (mysql_result(mysql_query("SELECT COUNT('id') FROM 'members' WHERE 
     'username' = '$username' "), 0) == 1) ? true : false;
     }

我希望有人可以告诉我哪里弄错了所以我可以从错误中吸取教训。谢谢大家!!!

1 个答案:

答案 0 :(得分:0)

问题是你用单引号包装表名和列名,必须删除它,因为名称不在MySQL保留关键字列表中,并且使用反引号来逃避它的正确方法。

SELECT COUNT(id) 
FROM members 
WHERE username = '$username'