我目前正在尝试将用户添加到数据库中。我想检查用户是否存在,如果是,那么只需更新几个字段。如果IT DOESNT,那么它应该完全插入新记录。
$result22 = mysql_query("SELECT COUNT(1) FROM newsite WHERE user = '$username'");
if($result22){
$SQL = "UPDATE newsite SET active = '1' WHERE user = '$username'";
$_SESSION['username'] = $_GET['user'];
$result = mysql_query($SQL);
echo("lol."); // TEST
header("Location: ./share.php?user=$username");
}
if(!$result22){
$SQL = "INSERT INTO newsite (user, active) VALUES ('".$username."', '1')";
$_SESSION['username'] = $_GET['user'];
$result = mysql_query($SQL);
echo("NOPE."); //TEST
header("Location: ./share.php?user=$username");
}
}
我不确定为什么,但无论它总是输出“哈哈”。 (也就是说,用户存在。)它完全忽略了另一个。
答案 0 :(得分:2)
$result22 = mysql_query("SELECT COUNT(1) FROM newsite WHERE user = '$username'");
if($result22){
除非您的SQL代码中有错误,否则mysql_query
会返回始终已解析为true
的结果集
此外:
Please, don't use mysql_*
functions in new code。它们不再被维护,deprecation process已经开始了。请参阅red box?转而了解prepared statements,并使用PDO或MySQLi - this article将帮助您确定哪个。如果您选择PDO here is a good tutorial。
答案 1 :(得分:0)
您还可以使用mysql_num_rows
函数,该函数返回最后一个结果集的行数
if(mysql_num_rows()>0)
{
}