我一直在寻找一个非常轻量级的PHP ORM库,我遇到了一些不错的选择。不幸的是,大多数选择都需要某种形式 配置,例如向班级添加更多字段,其中许多字段 不那么直观。
我不想使用框架,但更喜欢Q& D的ORM 原型。
无论如何,我开始构建自己的名为SORM(简单ORM)的PHP ORM库。它非常处于阿尔法状态。您可以在
查看代码和示例https://github.com/teraom/sorm
如果您能提供一些反馈或指示,我将不胜感激 如何进行,改变的事情等 我有兴趣使用mysqli进行数据库查询,特别是准备好 语句,以避免SQL注入。
有没有办法使用常规PHP-SQL准备好的语句 功能?或者通过其他方式防止SQL注入? http://us2.php.net/manual/en/ref.mysql.php
安装PHP时默认安装mysqli? (PHP 5.2和 以上)
我对PDO知之甚少。是否在PHP 5.2及更高版本中安装了PDO? PDO也会出现吗?
谢谢, Bharad
答案 0 :(得分:4)
有没有办法使用常规PHP-SQL函数的预准备语句?
仅在常规功能支持时。破旧的“mysql”扩展不提供此功能。其他一些人就像PostgreSQL那样。
安装PHP时默认是否安装了mysqli? (PHP 5.2及以上)
这是不负责任的,因为它取决于PHP的编译方式(如果是自定义安装),或者它是否是通过包管理器安装的。如果它是通过软件包管理器安装的,那么所有数据库支持很可能都在可选附加软件包中。但是,如果启用了mysql支持一般,则应该可以使用“mysqli”扩展名。
默认情况下是否在PHP 5.2及更高版本中安装了PDO?
与以前相同的答案 - 这取决于PHP的安装方式。编译时默认启用 ,但根据包管理,它可能不可用。
通常,您可以依赖PDO当时大多数。如果不是,那么要么代表系统管理员进行监督,要么故意决定让白痴经理禁用它。
现代PHP的很多是在假设PDO存在的情况下构建的。在为PDO和mysqli制作适配器时,太没有太大的危害,因为两者都具有通常类似的功能集。请注意bind_param
工作的奇怪,奇怪的方式 - 它希望一个调用所有要绑定的东西,通过引用。这往往会让人失望。
另一种选择:不是直接在PDO之上构建,而是在另一个包装器之上构建。我不想在你身上得到所有的Inception,但要看看Zend_Db。是的,我知道你不想使用框架,但无论如何都要看看它。它具有适用于各种PDO风格的适配器,mysqli,Oracle和DB2。它也非常全面,查询构建器(Zend_Db_Select)非常方便。
此区域还有很多其他选项,例如good old PEAR MDB2,它使用emulation to fake prepared statements和占位符。