我想知道是否真的需要自定义数据库类。我的意思是:我在网上看到了很多数据库抽象层和自定义数据库类。但是我们为什么要重新发明轮子呢?为什么我不应该只使用mysqli本机类并在我真正需要时扩展它?
mysqli类是安全的,最新的和原生的。为什么人们在已经存在的情况下使用query()
方法,fetch()
方法和free()
方法创建自己的类?
Mysqli也准备了语句,这是保持sql注入的最安全的方法之一。
答案 0 :(得分:1)
它使得使用MySQLi扩展更容易。在MySQLi中使用准备好的语句非常麻烦并且需要大量代码,并且您可以在任何地方复制相同的基本代码。
然而,使用包装器,您可以执行以下操作:
$rows = $db->Query ( '
SELECT
*
FROM
table_name
WHERE
field = ?
AND field2 = ?
',
Array (
Array ( 's', 'some val' ),
Array ( 'i', 42 )
)
);
答案 1 :(得分:0)
您也可以采用面向对象的方法来访问数据库中的数据。例如将所有数据检索封装到php类中。并使用mysqli模块
在类函数中编写所有数据检索方法答案 2 :(得分:0)
在普通的SQL中,为常见的CRUD操作编写相同的重复代码是很麻烦的。了解对象关系映射器如何解决此问题:Good PHP ORM Library?