我想进行以结尾的查询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';
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句