Warning: mysql_result(): supplied argument is not a valid MySQL result resource in (…) on line 4

Here is my snippet.

I’ve checked some other questions similar to my error, but so far I can’t get it solved.

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;


Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

You should split your code in some more lines to handle those errors or special cases. mysql_query will return zero to n rows or an error if it occurs. The returned resource will therefore only be true on non-error queries. This can be used to handle such situations like follows.

At first build and execute query, next process the resource.

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

u may use the following to determine what is going on in case of an error:

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

or these idea to handle the problem

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

    if (mysql_num_rows($result)!=1){
        return false;
        return true;

Method 2

This could happen, when mysql_query returns false, if it fails for some reason. So you should split this into multiple statements and check the return values

$sql = "SELECT COUNT(user_id) FROM users WHERE username =  $username";
$result = mysql_query($sql);
if ($result === false) {
    // error handling
    return false;

return (mysql_result($result, 0) == 1) ? true : false;

All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Notify of

Inline Feedbacks
View all comments
Would love your thoughts, please comment.x