首頁  >  文章  >  後端開發  >  淺析php怎麼操作資料庫

淺析php怎麼操作資料庫

PHPz
PHPz原創
2023-03-24 14:54:331969瀏覽

資料庫是網路程式設計的重要組成部分,它用於儲存和管理大量的資料。在網路應用中,對於使用者資訊、產品資訊及其他資料資訊都需要進行儲存和管理,因此對於資料庫的操作是開發網站必不可少的一部分。 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 (&#39;Peter&#39;, &#39;Griffin&#39;, &#39;35&#39;)");
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中文網其他相關文章!

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