I have the following query in my php file:
if ($user) { //user is logged in (which he is)
$highscore = mysql_query("SELECT highscore FROM highscore WHERE fbID = $user"); //wil give 200
$fb_country_str = nl;
if (mysql_num_rows($highscore) == 0) { //if no result from highscore set it to 1
$highscore = 1;
} else { //if we do get a result, select the country (in this case it is: uk)
$country = mysql_query("SELECT country FROM highscore WHERE fbID = $user");
if (!($country == $fb_country_str)) { //if the country is NOT the same, update the country with $fb_country_str (which in this case it should update)
$sql = mysql_query("UPDATE highscore SET country = $fb_country_str WHERE fbID = $user");
}
}
}
Now, when run, it doesn’t update the database where country uk should be changed to nl. Why not? What am I missing?
Kind regards
the mysql_query function doesn’t return a string, it will return a resource that you can use with other mysql_* functions (see http://php.net/mysql_query)
So your variable $country is not what you expect. You need to use a function like mysql_fetch_assoc or mysql_result to get the country string
you can see samples on the php.net man page and also you used the return value as a resource (and not a scalar value) already in that script when you called the mysql_num_rows function on $highscore