我有两个不同的功能:
function user_count(){
global $db;
$query = mysqli_query($db,"SELECT COUNT(user_id) FROM users");
if($result = $query){
$user_count = mysqli_num_rows($result);
mysqli_free_result($result);
return $user_count;
}
}
在这个函数中,我查询数据库告诉我有多少用户,在 PHP 中我使用 user_count()。这个函数的结果是 1。这是正确的,因为我现在数据库中只有 1 个用户。但是,当我将相同的代码用于不同的功能时,例如:
function user_exists($username){
global $db;
sanitize($username);
$query = mysqli_query($db,"SELECT COUNT(user_id) FROM users WHERE username=".$username) or die ("Doesn't work");
if($result = $query){
$user_exists = mysqli_num_rows($result);
mysqli_free_result($result);
return $user_exists;
}
}
更不用说我还尝试注释掉 sanitize($username)。但即使将其注释掉,我仍然会收到错误消息。
我使用函数 user_exists("superadmin"),我得到错误“不起作用”。我想知道我在第二个函数中做错了什么,第一个函数将返回行数,而第二个函数将返回错误。
我很确定:
- 数据库正在连接
- 字符串清理工作正常
- 用户确实存在于数据库中
如果您使用程序样式回复,将不胜感激。