我正在尝试将一个元素搜索到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?
答案 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
。然后,恶意用户可以在查询中添加各种令人讨厌的内容。