我真的不喜欢在我的PHP中编写SQL查询。
考虑下面的实例篇PHP的:
的script.php
$name = 'Bill'
$query = "SELECT * FROM a_table WHERE name='$name'";
我想,而不是写SQL查询在它自己的文件,包括(或其他方式)获得内容到我的脚本:
query.sql的
SELECT * FROM a_table WHERE name='$name'
的script.php
// This doesn't work obviously
$query = '"'.include('query.sql').'"';
注意,我希望能够在SQL查询中引用的PHP变量(如:$ name是建立在script.php的声明,但作为部分查询)。
在编写这样的查询时注意SQL注入。请参阅:http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php?rq=1 –
@ Pierre-LoupPagniez感谢您的链接。在我的情况下,所有的用户输入在被用于查询之前都被单独清理,但附带的问题/答案非常棒 –