gpt4 book ai didi

php - 我应该如何在 PHP 中编写包含 LIKE 的 SQL 查询?

转载 作者:行者123 更新时间:2023-11-29 01:56:47 25 4
gpt4 key购买 nike

我想做一个以 LIKE value% 结尾的查询,但由于某种原因,它有一个错误。

$_GET['letter'] 包含我想在查询中使用的起始字母。

例如,如果它是 'a',我的查询将是 ...WHERE name LIKE 'a%'

我的代码:

$sql = sprintf("SELECT id, name, username, email FROM users WHERE name LIKE '" . ($_GET['letter']) . "%'");

我得到的错误是:PHP Warning: sprintf(): Too few arguments

当然还有:PHP Warning: mysqli::query(): Empty query

提前致谢。

最佳答案

甚至不要考虑走这条路。改用 PDO 或 mysqli 准备好的语句。

if(isset($_GET['letter']) && strlen($_GET['letter']) > 0) {
$letter = $_GET['letter'] . '%';
$sql = "SELECT id, name, username, email FROM users WHERE name LIKE ?";
$query = $con->prepare($sql);
$query->bind_param('s', $letter);
$query->execute();

$query->bind_result($id, $name, $username, $email);
while($query->fetch()) {
echo $id . '<br/>';
// and others
}

// alternate version with mysqlnd installed
// $results = $query->get_result();
// while($row = $results->fetch_assoc()) {
// echo $row['id'];
// }
} else {
echo 'please provide for search value';
}

关于php - 我应该如何在 PHP 中编写包含 LIKE 的 SQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26665607/

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