溫馨提示×

php fetch_array是否支持預處理語句

PHP
小樊
89
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
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女