首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >构建ORM - mysqli vs正则SQL vs PDO

问构建ORM - mysqli vs正则SQL vs PDO
EN

Stack Overflow用户
提问于 2011-04-01 06:39:00
回答 1查看 2K关注 0票数 0

我一直在寻找一个非常轻的PHP ORM库,我遇到了一些很好的选择。不幸的是,大多数选择都需要某种形式的配置,例如向类中添加更多字段,而其中许多不是那么直观。

我不想使用框架,但我更喜欢用于Q&D原型的ORM。

总之,我开始构建自己的PHP ORM库,名为SORM (简单ORM)。在很大程度上处于阿尔法状态。您可以签出代码和示例

https://github.com/teraom/sorm

如果您能提供一些关于如何进行、更改等方面的反馈或指导,我将不胜感激。我感兴趣的是使用mysqli进行数据库查询,特别是准备语句,以避免SQL注入。

  1. 是否有一种使用常规PHP函数的准备语句的方法?还是通过其他方法防止SQL注入?http://us2.php.net/manual/en/ref.mysql.php
  2. 安装PHP时,默认情况下是否安装mysqli?(PHP 5.2及以上)
  3. 我对PDO知之甚少在PHP5.2及以上版本中是否默认安装了PDO?PDO也会出现吗?

谢谢,Bharad

EN

回答 1

Stack Overflow用户

发布于 2011-04-01 06:47:37

是否有一种使用常规PHP函数的准备语句的方法?

只有在常规函数的支持下。老化的"mysql“扩展不提供此功能。还有一些是这样的,比如PostgreSQL的那种。

安装PHP时,默认情况下是否安装mysqli?(PHP 5.2及以上)

这是不可回答的,因为它取决于PHP是如何编译的(如果是自定义安装的话),或者它是通过包管理器安装的。如果它是通过包管理器安装的,那么很可能所有数据库支持都在一个可选的外接程序包中。但是,如果通常启用mysql支持,则应该可以使用"mysqli“扩展。

在PHP5.2及以上版本中是否默认安装了PDO?

同样的答案--这取决于PHP是如何安装的。默认情况下,编译时启用了它,但根据包管理,它可能不可用。

通常,您可以依赖于PDO大部分时间都是可用的。如果不是,那么要么是代表sysadmin的疏忽,要么是白痴经理有意禁用它的决定。

很多现代PHP都是在PDO存在的情况下构建的。为PDO和mysqli制作适配器并没有太大的害处,因为两者都有相似的特性集。只需注意bind_param工作的奇怪、奇怪的方式--它期望通过引用将所有的东西绑定到一个调用中。这往往会让人厌烦。

另一种选择:不要直接构建PDO之上,而是构建在另一个包装器之上。我不想把所有的盗梦空间都放在你身上,但是看看数据库吧。是的,我知道你不想使用一个框架,但是无论如何,看看它。它为各种PDO风格、mysqli、Oracle和DB2提供了适配器。它也相当全面,而且查询生成器(Zend_Db_Select)非常方便。

在这方面还有很多其他选项,比如好老梨MDB2,它使用模拟伪造准备好的语句和占位符。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5509957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档