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

function, mysql, php

Solution

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;
    }else{
        return true;
    }

Problem

Here is my snippet. I've checked some other questions similar to my error, but so far I can't get it solved. ``` <?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; } ?> ```

Original source