2

PHP 的 MySQLi 特性很棒。

准备好的语句非常适合在查询中注入参数。

但是,如果您使用 Statements,您似乎无法再访问 fetch_assoc 功能。您必须手动绑定所有结果。这意味着我的 SQL 查询必须列出所有字段,然后我必须在获取结果时提前列出所有变量(使用 bind_result)。这会变得非常烦人和浪费时间。

有替代方案吗?

谢谢

4

2 回答 2

4

是的,它被称为PDO,通常比 MySQLi 更受欢迎。它提供带有常规获取选项的语句,并且不会强制您显式绑定所有参数。一个典型的查询可能如下所示:

$stmt = $db->prepare("SELECT * FROM foo WHERE a = ?");
$stmt->execute(array($a));

$result = $stmt->fetchAll(PDO::FETCH_ASSOC);

PDO 非常灵活,因此也可以以其他方式使用。手册中有很多很好的例子。看一看!

于 2009-07-02T21:45:11.520 回答
1

MySQLi 确实提供了处理这个的方法,看看 result_metadata 函数。

我编写了一个类来允许无忧的参数化 MySQLi 查询 - 下载和基本使用信息可在此处获得:http ://www.robpoyntz.com/blog/?p=191

于 2009-07-18T12:32:36.147 回答