2017-04-15 125 views
0
mysqli_query($con, "SELECT * FROM files WHERE main_subject = " + echo $_GET['msubject']); 

上面给了我一个解析错误。你能否给我提出一些建议,让我可以改变它以使之发挥作用?mysqli查询功能不能正常工作

+0

你能发布错误吗? – winter

+0

@amaia这是一个“解析错误”。它没有提供更多的细节 – p789887

回答

0

您必须使用.而不是+进行级联。 替换你的脚本:

mysqli_query($con, "SELECT * FROM files WHERE main_subject = '" . $_GET['msubject'] . "'"); 
+0

我将它改为'mysqli_query($ con,“SELECT * FROM files WHERE main_subject =”。echo $ _GET ['msubject']);'但它仍然给我一个解析错误。 – p789887

+0

你不必添加'echo' – winter

+1

有几个问题。 'echo'不能在那里 - 你不会产生输出,而是将一个变量插入到SQL字符串中。然后,假设它是一个字符串而不是数字,它必须单引号。有关示例,请参阅http://stackoverflow.com/questions/11321491/when-to-use-single-quotes-double-quotes-and-backticks-in-mysql。最重要的是,该变量需要保护免受SQL注入http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php#60496 –