我有一个函数,我使用名为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