我真的不喜歡在我的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感謝您的鏈接。在我的情況下,所有的用戶輸入在被用於查詢之前都被單獨清理,但附帶的問題/答案非常棒 –