溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php操作數(shù)據(jù)庫的方法有哪些

發(fā)布時間:2023-03-24 15:44:53 來源:億速云 閱讀:103 作者:iii 欄目:編程語言

這篇文章主要介紹“php操作數(shù)據(jù)庫的方法有哪些”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“php操作數(shù)據(jù)庫的方法有哪些”文章能幫助大家解決問題。

一、SQL語句

SQL語句在數(shù)據(jù)庫中是一種通用的查詢語言,用于通過語句操作數(shù)據(jù)庫,完成數(shù)據(jù)的增、刪、改、查等操作。通過PHP中的SQL語句操作數(shù)據(jù)庫,可以使用mysql_query()函數(shù)、mysqli_query()函數(shù)和PDO預(yù)處理語句等方式。

1.mysql_query()函數(shù)

mysql_query()函數(shù)是PHP中用于執(zhí)行SQL語句的函數(shù)。使用該函數(shù)需要與MySQL數(shù)據(jù)連接,然后通過該函數(shù)傳入SQL語句實現(xiàn)對數(shù)據(jù)的操作。例如,插入數(shù)據(jù)使用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()函數(shù)

mysqli_query()函數(shù)是PHP中用于帶有參數(shù)綁定的SQL語句的函數(shù)。與mysql_query()函數(shù)不同的是mysqli_query()函數(shù)支持帶有參數(shù)綁定的SQL語句。例如,插入數(shù)據(jù)使用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預(yù)處理語句

PDO(PHP Data Objects)是一種PHP擴(kuò)展,可以用于訪問和操作不同類型的數(shù)據(jù)庫,包括MySQL、Oracle和SQL Server等。通過PDO預(yù)處理語句,我們可以根據(jù)傳入的參數(shù)來執(zhí)行SQL語句。例如,插入數(shù)據(jù)使用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中用于與數(shù)據(jù)庫進(jìn)行交互的一種封裝。通過PDO類來連接數(shù)據(jù)庫,我們可以使用prepare()方法創(chuàng)建預(yù)處理語句,在SQL語句上增加參數(shù),然后將SQL語句和數(shù)據(jù)一起提供給execute()方法。PDO類中還提供了beginTransaction()和commit()等方法,用于開啟和提交事務(wù)。

<?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的一種擴(kuò)展庫,其提供的功能比mysql_*函數(shù)更加強大和安全,支持新的MySQL服務(wù)器特性,例如事務(wù)和存儲過程等。使用MySQLi類需要通過new關(guān)鍵字創(chuàng)建一個mysqli類的實例,然后調(diào)用connect()方法連接到MySQL服務(wù)器。

<?php
$mysqli = new mysqli("localhost", "root", "password", "my_db");
$mysqli->query("INSERT INTO Persons (FirstName, LastName, Age) VALUES ('Peter', 'Griffin', '35')");
$mysqli->close();
?>

關(guān)于“php操作數(shù)據(jù)庫的方法有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI