資料庫是網路程式設計的重要組成部分,它用於儲存和管理大量的資料。在網路應用中,對於使用者資訊、產品資訊及其他資料資訊都需要進行儲存和管理,因此對於資料庫的操作是開發網站必不可少的一部分。 PHP作為一種廣泛應用的後端伺服器程式語言,也為我們提供了一系列的資料庫操作函數,使得我們可以輕鬆實現對資料庫的增加、刪除和修改等操作。
本文將簡單介紹PHP中常用的資料庫增刪改操作,包括SQL語句、PDO類別和MySQLi類別等。希望透過本文的介紹,能幫助各位開發者更了解PHP下的資料庫操作。
一、SQL語句
SQL語句在資料庫中是一種通用的查詢語言,用於透過語句操作資料庫,完成資料的增、刪、改、查等操作。透過PHP中的SQL語句操作資料庫,可以使用mysql_query()函數、mysqli_query()函數和PDO預處理語句等方式。
1.mysql_query()函數
mysql_query()函數是PHP中用來執行SQL語句的函數。使用函數需要與MySQL資料連接,然後透過函數傳入SQL語句實現對資料的操作。例如,插入資料使用INSERT指令:
<?php $con = mysql_connect("localhost","root","password"); mysql_select_db("my_db", $con); mysql_query("INSERT INTO Persons (FirstName, LastName, Age) VALUES ('Peter', 'Griffin', '35')"); mysql_close($con); ?>
2.mysqli_query()函數
mysqli_query()函數是PHP中用於帶有參數綁定的SQL語句的函數。與mysql_query()函數不同的是mysqli_query()函數支援帶有參數綁定的SQL語句。例如,插入資料使用INSERT指令可以寫成:
<?php $mysqli = new mysqli("localhost", "root", "password", "my_db"); $stmt = $mysqli->prepare("INSERT INTO Persons (FirstName, LastName, Age) VALUES (?, ?, ?)"); $stmt->bind_param("ssi", $fname, $lname, $age); $fname = "Peter"; $lname = "Griffin"; $age = 35; $stmt->execute(); $stmt->close(); $mysqli->close(); ?>
3.PDO預處理語句
PDO(PHP Data Objects)是一種PHP擴展,可以用來存取和操作不同類型的資料庫,包括MySQL、Oracle和SQL Server等。透過PDO預處理語句,我們可以根據傳入的參數來執行SQL語句。例如,插入資料使用INSERT指令:
<?php $pdo = new PDO("mysql:host=localhost;port=3306;dbname=my_db", "root", "password"); $statement = $pdo->prepare("INSERT INTO Persons (FirstName, LastName, Age) VALUES (:fname, :lname, :age)"); $statement->bindParam(':fname', $fname); $statement->bindParam(':lname', $lname); $statement->bindParam(':age', $age); $fname = "Peter"; $lname = "Griffin"; $age = 35; $statement->execute(); $pdo = null; ?>
二、PDO類別
#PDO類別是PHP中用來與資料庫互動的封裝。透過PDO類別連接資料庫,我們可以使用prepare()方法建立預處理語句,在SQL語句上增加參數,然後將SQL語句和資料一起提供給execute()方法。 PDO類別中也提供了beginTransaction()和commit()等方法,用於開啟和提交交易。
<?php $pdo = new PDO("mysql:host=localhost;port=3306;dbname=my_db", "root", "password"); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->beginTransaction(); try { $statement = $pdo->prepare("INSERT INTO Persons (FirstName, LastName, Age) VALUES (?, ?, ?)"); $statement->bindParam(1, $fname); $statement->bindParam(2, $lname); $statement->bindParam(3, $age); $fname = "Peter"; $lname = "Griffin"; $age = 35; $statement->execute(); $pdo->commit(); } catch(PDOException $e) { $pdo->rollback(); echo "Error: " . $e->getMessage(); } $pdo = null; ?>
三、MySQLi類別
MySQLi類別是PHP中使用MySQL的擴充程式庫,其提供的功能比mysql_*函數更強大和安全,支持新的MySQL伺服器特性,例如事務和預存程序等。使用MySQLi類別需要透過new關鍵字建立一個mysqli類別的實例,然後呼叫connect()方法連接到MySQL伺服器。
<?php $mysqli = new mysqli("localhost", "root", "password", "my_db"); $mysqli->query("INSERT INTO Persons (FirstName, LastName, Age) VALUES ('Peter', 'Griffin', '35')"); $mysqli->close(); ?>
總結
本文主要介紹了PHP中常用的資料庫增刪改操作,包括SQL語句、PDO類別和MySQLi類別等。透過本文的介紹,我們可以了解到不同的操作方式及其優缺點,同時也注意到參數綁定在安全性方面的作用。當然,在實際開發中還需要針對專案需求採用最合適的方式來操作資料庫,最大化地滿足使用者需求。
以上是淺析php怎麼操作資料庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!