【发布时间】:2008-09-23 23:51:14
【问题描述】:
我有一个名为 sqlf() 的函数,它模拟准备好的语句。例如,我可以执行以下操作:
$sql = sqlf("SELECT * FROM Users WHERE name= :1 AND email= :2",'Big "John"','bj@example.com') ;由于各种原因,我不能使用准备好的语句,但我想效仿它们。我遇到的问题是像
这样的查询 $sql = sqlf("SELECT * FROM Users WHERE id IN (:1)",array(1,2,3) );我的代码有效,但它因空数组而失败,例如以下引发mysql错误:
SELECT * FROM Users WHERE id IN ();有人有什么建议吗?我应该如何将空数组转换为可以注入 IN 子句的 sql?替换 NULL 将不起作用。
【问题讨论】: