fetch_array()
函数本身并不直接支持预处理语句。但是,你可以在 PHP 中使用预处理语句(Prepared Statements)与 fetch_array()
或其他类似的函数一起使用。这里有一个使用 MySQLi 扩展的例子:
// 创建数据库连接
$mysqli = new mysqli("localhost", "username", "password", "database");
// 检查连接
if ($mysqli->connect_error) {
die("Connection failed: " . $mysqli->connect_error);
}
// 准备 SQL 语句
$stmt = $mysqli->prepare("SELECT id, name FROM users WHERE age > ?");
$stmt->bind_param("i", $age);
// 设置参数并执行查询
$age = 25;
$stmt->execute();
// 绑定结果变量
$stmt->bind_result($id, $name);
// 获取结果并输出
while ($stmt->fetch()) {
echo "id: " . $id . " - Name: " . $name . "<br>";
}
// 关闭连接
$stmt->close();
$mysqli->close();
在这个例子中,我们使用了预处理语句来执行一个带有参数的 SQL 查询。然后,我们使用 fetch()
函数从结果集中获取数据,并将其输出。注意,这里我们使用的是 MySQLi 扩展,而不是已弃用的 mysql_*
函数。
如果你想使用 PDO(PHP Data Objects)扩展,可以参考以下示例:
// 创建数据库连接
$dsn = "mysql:host=localhost;dbname=database;charset=utf8";
$pdo = new PDO($dsn, "username", "password");
// 准备 SQL 语句
$stmt = $pdo->prepare("SELECT id, name FROM users WHERE age > :age");
$stmt->bindParam(':age', $age);
// 设置参数并执行查询
$age = 25;
$stmt->execute();
// 获取结果并输出
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo "id: " . $row['id'] . " - Name: " . $row['name'] . "<br>";
}
在这个例子中,我们使用了 PDO 扩展来执行预处理语句。我们使用 fetch()
函数从结果集中获取数据,并将其输出。注意,这里我们使用的是 PDO::FETCH_ASSOC
常量来指定返回关联数组。