谢谢你提出的好问题.
PHP OOP Database Class – Is it really needed?
肯定是的,但前提是您不喜欢代码中执行的每个查询的重复代码屏幕.
如果你重新审视一下你需要执行一个平均查询的代码,你可能会注意到它的数量太可怕了.虽然您只需要定义一个查询,传递变量,运行它并获得结果,但您必须编写数千个无用的运算符,并为每个查询重复.
手册中的一个例子(即使没有错误处理)
if ($stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?")) {
$stmt->bind_param("s", $city);
$stmt->execute();
$stmt->bind_result($district);
$stmt->fetch();
echo $district;
}
使用数据库帮助程序类的示例:
$district = $db->getOne("SELECT District FROM City WHERE Name=?s", $city);
echo $district;
那只是单排.对于行数组,在使用原始API的情况下,代码量将加倍
如果使用mysqli,事情变得更糟.
我们举一个简单的例子.想象一下,有一系列未知大小的id.您需要在简单查询中将它们全部添加到IN语句中
SELECT * FROM t WHERE id IN (1,2,3) // filled from array.
尝试使用mysqli预处理语句获取数据