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
常量來指定返回關聯數組。