谢谢你的好问题。
PHP OOP 数据库类 - 真的需要吗?
绝对可以,但前提是您不喜欢在代码中执行的每个查询都出现大量重复代码。
如果您重新审视执行一个平均查询所需的代码,您可能会注意到它的数量非常可怕。虽然您只需要定义一个查询、传递变量、运行它并获得结果,但您必须编写数千个无用的运算符,并为每个查询重复。
手册中的示例(即使没有错误处理)
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 准备好的语句获取数据