欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

php mysql mysqli

傅智翔1年前7瀏覽0評論

PHP是一種通用開源腳本語言,而MySQL是一種廣泛使用的開源關系數據庫管理系統。PHP與MySQL結合起來可以實現各種功能強大的Web應用程序,并且能夠與用戶進行交互。我們今天來討論一下與MySQL進行交互的三種PHP擴展程序:MySQL,MySQLi和PDO。

MySQL和MySQLi是兩種不同的PHP擴展,它們分別使用MySQL的不同API進行交互。MySQL擴展程序使用了MySQL的舊API,它有一些不足和弊端。MySQLi擴展程序使用MySQL的新API,它在一些方面比MySQL更強大、更安全。下面我們將分別介紹MySQL和MySQLi在連接和查詢方面的用法。

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// MySQL連接
$conn = mysql_connect($servername, $username, $password);
if (!$conn) {
die("Connection failed: " . mysql_error());
}
// MySQL選擇數據庫
mysql_select_db($dbname, $conn);
// MySQL查詢
$result = mysql_query("SELECT * FROM MyGuests");
if (mysql_num_rows($result) >0) {
while($row = mysql_fetch_assoc($result)) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 results";
}
mysql_close($conn);
?>

MySQLi擴展程序具有更先進的功能和更好的性能,下面是使用MySQLi連接和查詢MySQL數據庫的示例:

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// MySQLi連接
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// MySQLi查詢
$sql = "SELECT * FROM MyGuests";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) >0) {
while($row = mysqli_fetch_assoc($result)) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 results";
}
mysqli_close($conn);
?>

MySQLi擴展程序提供了更好的安全性和對面向對象編程的支持,還能夠面向過程進行編程。MySQLi還具有事務處理和預處理功能,可以使代碼更加靈活和高效。

PDO(PHP Data Objects)是另一個PHP擴展程序,它提供了一種抽象的方式來訪問多種數據庫,包括MySQL、PostgreSQL和Oracle。下面是使用PDO連接和查詢MySQL數據庫的示例:

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// PDO連接
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// 設置 PDO 錯誤模式為異常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// PDO查詢
$stmt = $conn->prepare("SELECT * FROM MyGuests");
$stmt->execute();
// 設置結果集為關聯數組
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
foreach ($stmt->fetchAll() as $row) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
$conn = null;
?>

使用PDO可以使代碼更加可讀和可維護,并且提供更多的數據庫連接選項和功能。

總之,在選擇何種PHP擴展進行與MySQL交互時,我們應該根據項目的需求,比較它們的優劣和功能,進行選擇并且盡可能使用最新、最先進的擴展程序。