这行不通
$sql = 'SELECT * FROM `users` WHERE username LIKE \'%{?}%\' ';
警告:mysqli_stmt::bind_param():变量数量与第 1 行/home/rgero/public_html/php/searchadmins.php 中准备好的语句中的参数数量不匹配
这个也不行
$sql = 'SELECT * FROM `users` WHERE username LIKE %{?}% ';
fatal error :错误的 SQL:SELECT * FROM users
WHERE username LIKE %{?}% 错误:/home/rgero/public_html/php/searchadmins.php 第 1 行中的 0
我该怎么做?我正在尝试搜索播放器功能,该功能会在您输入表单时更新结果,就像谷歌在您输入时已经显示答案的方式一样。如果您键入 dm,我需要用户名 Admin 以在包含“dm”的其他用户名中显示它。它也应该不区分大小写
最佳答案
试试这个
$likeVar = "%" . $yourParam . "%";
$stmt = $mysqli->prepare("SELECT * FROM REGISTRY where name LIKE ?");
$stmt->bind_param("s", $likeVar);
$stmt->execute();
您需要使用 ?
准备查询,然后使用 bind_param
绑定(bind)参数。
关于php - 将 LIKE '%{$var}%' 与准备好的语句一起使用的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28385145/