林先生,哪个PHP框架的数据库是支持prepare和bind绑定的
By ivanilla
at 2016-05-31
0人收藏 • 2677人看过
为了方便操作,我写了个CRUD类。
结果在查询(Read)时不知什么原因居然吃掉了限制的256M内存。
估计我的代码还存在某些不足,不过主流的PHP框架的数据库封装复杂而且似乎都不支持prepare?有没有个能拿来参考的。
- 登录后方可回帖
回复#1 @lincanbin :
你这种方法跟我的差不多,但是问题在于每次查询需要指定数据表名称。
也就是说如果对不同的数据进行CRUD(管理)的话,比如用户、帖子、标签等,就需要编写多个函数,甚至封装成多个文件,我希望能够通过统一的接口来简化这一过程。
回复 #2 @ivanilla :
如果你OOP没白学的话,应该知道你这个需求,需要的是一个ORM。
回复#4 @ivanilla :
那么解决方案非常简单,你去找一个ORM,或者自己造一个ORM轮子。
回复#5 @lincanbin :
好了,我去github找了个单文件的ORM。
回复#6 @ivanilla :
注意Review下代码,别出什么安全漏洞。
回复#7 @lincanbin :
https://github.com/noetix/Simple-ORM/blob/master/SimpleOrm.class.php
我用的这个,他支持prepare,不过他只封装了mysqli的,我还要改进让他支持pdo。
回复#8 @ivanilla :
Mysqli到PDO的迁移也是很容易的,需要注意的是,PDO不原生支持WHERE IN的参数绑定。
不能绑定类似下面这样的语句:
SELECT * FROM `table` WHERE id IN (?);
除非自己另作处理。
回复#9 @lincanbin :
明白了,谢谢。
回复 #0 @ivanilla :
你的那个,还不能称为ORM。
回复#12 @lincanbin :
你没看过代码,不能武断地做决定。
回复 #13 @ivanilla :
从2楼的描述可以看出…
回复 #15 @ivanilla :
但是2楼的描述,显然离ORM还有点距离。
回复#16 @lincanbin :
那你认为缺什么?