开发者社区> 问答> 正文

在准备好的语句中使用LIKE'%{$ var}%'的正确方法?[mysqli]?mysql

这行不通

$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 usersWHERE用户名类似%{?}%错误:第1行的/home/rgero/public_html/php/searchadmins.php中的0

我将如何处理?我正在尝试搜索播放器功能,以在您在表单中输入内容时更新结果,例如google在输入时已经显示了答案。如果您输入dm,我需要用户名Admin,以便在包含“ dm”的其他用户名中显示它。还应该不区分大小写

展开
收起
保持可爱mmm 2020-05-17 10:56:54 625 0
1 条回答
写回答
取消 提交回答
  • 尝试这个

    $likeVar = "%" . $yourParam . "%"; $stmt = $mysqli->prepare("SELECT * FROM REGISTRY where name LIKE ?"); $stmt->bind_param("s", $likeVar); $stmt->execute(); 您只需使用即可准备查询,?然后使用绑定参数bind_param。来源:stack overflow

    2020-05-17 11:09:17
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像