MySQL - 搜索& Conaining word / PHP

时间:2014-04-23 15:26:30

标签: php mysql sql

我正在尝试将一个元素搜索到MySQL数据库的两个不同列中。第一个可以匹配searchObject,第二个可以包含它(该列包含文本)。我正在使用PHP

页面返回错误:

Parse error: syntax error, unexpected ')' in C:\wamp\www\v2\header.php on line 9

这是我的要求

"SELECT * FROM corporate WHERE (columnA = " . $_GET["searchedObject"]) . " OR (columnTextedB LIKE '%" . $_GET["searchedObject"] . "%' )";

任何想要挽救我的夜晚的事情:o?

2 个答案:

答案 0 :(得分:2)

错误很清楚你做错了什么......

$_GET["searchedObject"])

) ...移到

") OR (columnTextedBLIKE '%"

PS。这段代码很容易受到sql注入攻击

答案 1 :(得分:1)

语法错误是PHP中的一个问题:

"SELECT * FROM cim_corporate WHERE (columnA = " . $_GET["searchedObject"]) . " OR (columnTextedBLIKE '%" . $_GET["searchedObject"] . "%' )";

请注意,您关闭了一个从未在PHP中打开的括号。尝试:

"SELECT * FROM cim_corporate WHERE (columnA = " . $_GET["searchedObject"] . ") OR (columnTextedBLIKE '%" . $_GET["searchedObject"] . "%' )";

但请不要在查询中直接使用$_GET variables。然后,恶意用户可以在查询中添加各种令人讨厌的内容。