查詢

mysqli::query()函式—用法及示例

「 執行SQL查詢語句的函式 」


mysqli::query()是PHP中用於執行SQL查詢語句的函式。它返回一個mysqli_result物件,該物件包含了查詢的結果集。

用法: mysqli::query(string $query, int $resultmode = MYSQLI_STORE_RESULT): mysqli_result|bool

引數:

  • $query:要執行的SQL查詢語句。
  • $resultmode(可選):指定結果集的型別,預設為MYSQLI_STORE_RESULT。可以傳入MYSQLI_STORE_RESULT、MYSQLI_USE_RESULT或MYSQLI_ASYNC。

返回值:

  • 如果查詢成功,返回一個mysqli_result物件,可以用來獲取查詢結果。
  • 如果查詢失敗,返回false。

示例:

// 連線到MySQL資料庫
$mysqli = new mysqli("localhost", "username", "password", "database");

// 檢查連線是否成功
if ($mysqli->connect_errno) {
    echo "連線資料庫失敗:" . $mysqli->connect_error;
    exit();
}

// 執行查詢
$query = "SELECT * FROM users";
$result = $mysqli->query($query);

// 檢查查詢是否成功
if ($result) {
    // 獲取查詢結果的行數
    $numRows = $result->num_rows;
    
    // 遍歷結果集並輸出資料
    if ($numRows > 0) {
        while ($row = $result->fetch_assoc()) {
            echo "ID: " . $row["id"] . ", Name: " . $row["name"] . ", Email: " . $row["email"] . "<br>";
        }
    } else {
        echo "沒有找到匹配的記錄。";
    }
    
    // 釋放結果集
    $result->free();
} else {
    echo "查詢失敗:" . $mysqli->error;
}

// 關閉資料庫連線
$mysqli->close();

在上面的示例中,我們首先建立了一個mysqli物件,然後使用query()方法執行了一個SELECT語句。如果查詢成功,我們可以使用num_rows屬性獲取結果集的行數,並使用fetch_assoc()方法逐行獲取查詢結果並輸出。最後,我們釋放了結果集並關閉了資料庫連線。

請注意,為了安全起見,應該在執行查詢之前對輸入的資料進行適當的驗證和過濾,以防止SQL隱碼攻擊等安全問題。

補充糾錯
上一個函式: mysqli::real_connect()函式
下一個函式: mysqli::prepare()函式
熱門PHP函式
分享連結