搜尋
首頁後端開發PHP問題淺析php怎麼操作資料庫

淺析php怎麼操作資料庫

Mar 24, 2023 pm 02:54 PM
php資料庫

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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)