温馨提示×

php fetch_array是否支持预处理语句

PHP
小樊
82
2024-09-07 17:13:42
栏目: 编程语言

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 常量来指定返回关联数组。

0