$update = mysql_query("UPDATE users SET regstatus='TRUE' WHERE username='$id' AND regstring='$key'") or die(mysql_error());
if (mysql_num_rows($check)>0)
header("refresh:3;url=login.php");
echo "Your account is active now. Redirecting to login page."; }
出力が表示されますあなたのアカウントは現在アクティブです。ログインページにリダイレクトし、ログインページにリダイレクトします。
ただし、の値はregstatus
更新されていません。デバッグの一環として、クエリでmysql_num_rowsを確認すると、行が影響を受けていると表示されますが、値はまだ更新されません。
何か案は?列regstatusはvarcharです。
提案に従ってコードを更新しました:
$update = mysql_query("UPDATE users SET regstatus='True' WHERE username='$id' AND regstring='$key'") or
die(mysql_error());
if (mysql_num_rows($update)>0)
{
header("refresh:3;url=login.php");
echo "Your account is active now. Redirecting to login page.";
}
今私は得る:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /activate.php on line 27