当前位置:  开发笔记 > 编程语言 > 正文

"SELECT*FROM users WHERE id IN()"== FAIL

如何解决《"SELECT*FROMusersWHEREidIN()"==FAIL》经验,为你挑选了1个好方法。

我有一个名为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将不起作用.



1> neouser99..:

Null是唯一可以保证不在集合中的值.怎么不是一个选择?任何其他东西都可以被视为潜在集合的一部分,它们都是价值观.

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有