首頁 >後端開發 >PHP問題 >php執行資料庫查詢語句

php執行資料庫查詢語句

WBOY
WBOY原創
2023-05-06 18:08:08820瀏覽

PHP是一種非常受歡迎的伺服器端程式語言,內建了豐富的資料庫操作API。對於開發者來說,能夠熟練地使用PHP操作資料庫是一項非常重要的技能。在本文中,我們將重點放在如何在PHP中執行資料庫查詢語句。

一、連接資料庫

在PHP中連接資料庫通常採用mysqli或PDO兩種方式。以下是使用mysqli連接MySQL資料庫的範例程式碼:

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);

// 检查连接是否成功
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>

二、執行查詢語句

在成功連接到資料庫之後,我們就可以開始執行SQL查詢語句了。以下是使用mysqli執行查詢語句的範例程式碼:

<?php
$sql = "SELECT id, name, email FROM users";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
    // 输出数据
    while($row = mysqli_fetch_assoc($result)) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>";
    }
} else {
    echo "0 results";
}

mysqli_close($conn);
?>

在上面的程式碼中,我們使用SELECT語句從資料庫中讀取數據,並透過mysqli_fetch_assoc()函數將資料儲存在關聯數組中。最後透過while循環遍歷輸出查詢結果。

三、防止SQL注入攻擊

在執行資料庫查詢語句時,特別要注意的是SQL注入攻擊。如果不做任何防護措施,惡意使用者就可以透過拼接惡意SQL語句來執行非法操作,例如竄改、刪除資料等。因此在實際開發中,一定要使用預處理語句來預先編譯SQL語句,以避免SQL注入攻擊。以下是使用mysqli預處理語句執行查詢語句的範例程式碼:

<?php
$stmt = $conn->prepare("SELECT id, name, email FROM users WHERE email= ? ");
$email = "john@example.com";
$stmt->bind_param("s", $email);
$stmt->execute();

$result = $stmt->get_result();
if ($result->num_rows > 0) {
    // 输出数据
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>";
    }
} else {
    echo "0 results";
}

$stmt->close();
$conn->close();
?>

在上面的程式碼中,我們首先使用prepare()函數預先編譯SQL語句,並將查詢條件透過bind_param()方法與SQL語句綁定。最後透過get_result()函數取得查詢結果,並使用fetch_assoc()方法取得資料。

總結

在本文中,我們介紹如何在PHP中使用mysqli和PDO兩種方式連接資料庫,並執行查詢語句防止SQL注入攻擊。透過學習和掌握這些技能,你將能夠在PHP開發中更熟練地操作資料庫,提升開發效率和安全性。

以上是php執行資料庫查詢語句的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn