我有一個函數,我使用名爲sqlf(),它模擬預準備語句。比如我可以做這樣的事情:「SELECT * FROM users where id IN()」== FAIL
$sql = sqlf("SELECT * FROM Users WHERE name= :1 AND email= :2",'Big "John"','[email protected]') ;
由於種種原因,我不能使用準備好的語句,但我想效仿他們。我遇到的問題是與查詢如
$sql = sqlf("SELECT * FROM Users WHERE id IN (:1)",array(1,2,3));
我的代碼工作,但它失敗與空數組,例如,下面拋出一個mysql錯誤:
SELECT * FROM Users WHERE id IN();
有沒有人有任何建議?我應該如何將數組轉換並清空爲可以注入IN子句的sql?用NULL代替將不起作用。
那麼我只是試過,它實際上工作。 「IN(NULL)」我認爲會和IS NULL做同樣的事情,但它們是不同的。感謝你的回答。 – jcampbell1 2008-09-24 00:02:29