PHP MySQL LIKE命令无法正常工作

时间:2013-05-22 17:26:21

标签: php mysql sql sql-like

我正在尝试根据用户是否在搜索栏中输入与包含项目描述的变量匹配的字符来检索表格中的数据。

我在PHP中使用MySQL这样做,这是我到目前为止的检索代码:

$ItemDesc = $_POST['ItemDesc'];

$query = "select * from StockItems where ItemDesc LIKE '%$ItemDesc%'";

但是我没有得到正确的结果,我得到的是SQL表中的所有数据,尽管始终输入不匹配的字符。

所以,例如如果在SQL表格中我有一个字段而ItemDesc行包含'Fight',如果我在搜索框中输入'xxx'并单击输入,将始终检索该字段。

2 个答案:

答案 0 :(得分:3)

你没有将你的$ItemDesc变量设置为mysql,它看起来像

select * from StockItems where ItemDesc LIKE '%%'

尝试print_r或var_dump $ItemDesc$_POST的内容,以查看事情的落点。但在发出查询之前确保$ ItemDesc满足至少一些标准(最小长度)是个好主意

同时清理来自用户地区的输入

答案 1 :(得分:-2)

$item = $_POST['itemDesc'];

$result = mysql_query("select * from StockItems where ItemDesc LIKE '%$item%'");

此查询选择用户为itemdesc字段中的所有地点分配字符的结果。