将 LIKE '%{$var}%' 与准备好的语句一起使用的正确方法?
Correct way to use LIKE '%{$var}%' with prepared statements?
这行不通
$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 %{?}% ';
致命错误:错误 SQL:SELECT * FROM users
WHERE username LIKE %{?}% 错误:0 in /home/rgero/public_html/php/searchadmins.php第 1 行
我该怎么做?我正在尝试搜索播放器功能,该功能会在您输入表单时更新结果,例如 google 已经在您输入时显示答案。如果您键入 dm,我需要用户名 Admin 以在包含 "dm" 的其他用户名中显示它。它也应该不区分大小写
试试这个
$likeVar = "%" . $yourParam . "%";
$stmt = $mysqli->prepare("SELECT * FROM REGISTRY where name LIKE ?");
$stmt->bind_param("s", $likeVar);
$stmt->execute();
您只需使用 ?
准备查询,然后使用 bind_param
.
绑定参数
这行不通
$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 %{?}% ';
致命错误:错误 SQL:SELECT * FROM users
WHERE username LIKE %{?}% 错误:0 in /home/rgero/public_html/php/searchadmins.php第 1 行
我该怎么做?我正在尝试搜索播放器功能,该功能会在您输入表单时更新结果,例如 google 已经在您输入时显示答案。如果您键入 dm,我需要用户名 Admin 以在包含 "dm" 的其他用户名中显示它。它也应该不区分大小写
试试这个
$likeVar = "%" . $yourParam . "%";
$stmt = $mysqli->prepare("SELECT * FROM REGISTRY where name LIKE ?");
$stmt->bind_param("s", $likeVar);
$stmt->execute();
您只需使用 ?
准备查询,然后使用 bind_param
.