我有一个来自表单输入3个变量,并有我这个选择在PHP如果我在输入要搜索$itemName,还给我确切的一个项目,因为它需要,如果我在搜索$typeName或者$itemPrice,还给我的整个列表项目,那不行,我试着做'%$typeName%','%$itemPrice'就像我做的那样$itemName,但无论如何它都会返回我所有的列表。问题是什么?$stid = oci_parse($conn, "select title, type, price from items where title like '%$itemName%' or type like '$typeName' or price like '$itemPrice'");
2 回答
富国沪深
TA贡献1790条经验 获得超9个赞
与 LIKE 绑定的通用解决方案是:
<?php
$c = oci_connect("hr", "welcome", "localhost/XE");
$s = oci_parse($c,
"select city, state_province from locations where city like :bv");
$city = 'South%';
oci_bind_by_name($s, ":bv", $city);
oci_execute($s);
oci_fetch_all($s, $res);
var_dump($res);
?>
您必须使用绑定来避免将变量值连接到 SQL 字符串中的 SQL 注入安全问题。它还有助于提高性能和可扩展性。
萧十郎
TA贡献1815条经验 获得超13个赞
尝试使用单引号
$stid = oci_parse($conn, 'Select title, type, price from items where title like '%$itemName%' or type like '$typeName' or price like '$itemPrice'');
- 2 回答
- 0 关注
- 126 浏览
添加回答
举报
0/150
提交
取消