gpt4 book ai didi

php - 尝试从 SQL 返回 true 或 false

转载 作者:行者123 更新时间:2023-11-29 01:42:51 24 4
gpt4 key购买 nike

这是我的代码:

$result_username = mysqli_query($dbconnection, Data::checkForUsername($username));

然后到这里:

   public static function checkForUsername($username) {
global $database;

$query = "
SELECT COUNT(*)
FROM users
WHERE username='{$username}';";

$result = $database -> query($query);

return $result;
}

然后 $result 这样做:

if (mysqli_result($result_username, 0) > 0) {

但是,它会返回一个 Resource_Id??我不明白为什么?

我只想检查用户名是否至少存在于 1 行中。

最佳答案

您需要在执行查询后获取数据

$row = $result->fetch_array(MYSQLI_NUM);
return $row[0];

更新:现在,使用准备好的语句,您的函数可以如下所示:

public static function checkForUsername($username) {
global $database;

$result = 0;
$query = "SELECT COUNT(*) FROM users WHERE username=?";
/* create a prepared statement */
if ($stmt = $database->prepare($query)) {
/* bind parameters for markers */
$stmt->bind_param("s", $username);
/* execute query */
$stmt->execute();
/* bind result variable */
$stmt->bind_result($result);
/* fetch value */
$stmt->fetch();
/* close statement */
$stmt->close();
}
return $result;
}

关于php - 尝试从 SQL 返回 true 或 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14906479/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com