本文介绍了PHP 绑定通配符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

希望有人能帮助我了解当变量值旁边需要多字符通配符时如何在 mysqli 中绑定参数.我发现它在创建 SQL 语句时对我有用,如下所示:

Hope Somebody will help me about how I bind a parameter in mysqli when a multiple character wildcard needs to be next to the variable value. I found that it worked for me when creating a SQL statement, like this:

$sql = "SELECT item_title FROM item WHERE item_title LIKE '%$title%'";

但是,我尝试按照相同的模式绑定变量,发现它失败了.他们使用了这个代码:

However, I tried to bind the variable following the same pattern, and found that it failed. They used this code:

$sql = "SELECT item_title FROM item WHERE item_title LIKE '%?%'";

它引发了这个错误:

警告:mysqli_stmt_bind_param() [function.mysqli-stmt-bind-param]:变量数与准备好的参数数不匹配在线program_name中的语句......

谁能告诉我如何解决这个问题?谢谢你.

Can anybody tell me how fix this problem?Thank you.

推荐答案

您只能绑定数据文字,不能绑定任意查询部分.
所以,先准备好你的文字

You can bind only data literals not arbitrary query parts.
So, prepare your literal first

$var = "%$var%";
$sql = "SELECT item_title FROM item WHERE item_title LIKE ?";

这篇关于PHP 绑定通配符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-11 01:45