SQL bindparam喜欢查询不起作用

时间:2016-05-05 07:20:27

标签: php mysql sql pdo

我有以下代码没有返回任何结果。当我将<body onload="document.forms["Form1"].submit()"> <form id="Form1" method="POST" action="page2.aspx"> <input type="hidden" name="Status" value="success"> <input type="hidden" name="Date" value="05/05/2016"> </form> </body> 更改为document.getElementsByTagName('form')[0].onsubmit = function () { var status, date;var str = ''; var inputs = document.getElementsByTagName('input'); for (var i = 0; i < inputs.length; i++) { if (inputs[i].name.toLowerCase() === 'status') { status= inputs[i]; } else if (inputs[i].name.toLowerCase() === 'date') { date= inputs[i]; } }//for close if (status != null) { str += status.value; } else if (date != null) { str += date.value; } }//func close 时,它将按预期返回一个结果,但是当我使用通配符时,它只返回0.

:search_term

我有一种感觉,我只是没有正确使用它。任何帮助都会很棒。谢谢!

1 个答案:

答案 0 :(得分:0)

你不应该在查询中使用引号并构建一个字符串,而是在绑定值时需要这样做(没有任何引号......):

SELECT * FROM `coils` WHERE coil_name LIKE :search_term ORDER BY ...

然后是:

$query->execute(array(
    ':search_term' => '%' . $search_term . '%'
));

另请注意,您应该使用LIKE而不是IS LIKE