php fetch_array是否支持预处理语句

avatar
作者
筋斗云
阅读量:0

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!