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中文網其他相關文章!