gpt4 book ai didi

PHP - 使用 mysqli 获取单个结果

转载 作者:行者123 更新时间:2023-11-29 02:08:27 24 4
gpt4 key购买 nike

我决定在项目的一部分中从 mysql 更改为 mysqli - 并遇到了这个问题。

实现这一目标的最佳方法是什么:
//检查用户名是否被占用
$result = mysql_result(mysql_query("SELECT COUNT(*) FROM user WHERE username='".$username."'"));

我找不到 mysql_result 的确切版本

我试过这个:

$result = mysqli_num_rows($db->query("SELECT * FROM user WHERE username='".$username."'"))

哪个有效,但我认为在 mySQL 服务器上使用 count 会更容易。有没有更好的办法?

最佳答案

如果您只是想确定用户名是否已经存在,我可能建议您将查询更改为 "SELECT 1 FROM user WHERE username = '"。 $用户名。 "'" :

$res = $db->query("SELECT 1 FROM user WHERE username='".$username."'");
if (mysqli_num_rows($res) > 0) {
die('username already taken');
}

在查询数据库之前转义任何和所有用户输入也是一种很好的做法,因为您会为 SQL 注入(inject)攻击敞开大门。这是安全版本:
$res = $db->query("SELECT 1 FROM user WHERE username='". mysqli_real_escape_string($username) ."'");
if (mysqli_num_rows($res) > 0) {
die('username already taken');
}

关于PHP - 使用 mysqli 获取单个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1744165/

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