PHP與MySQL數據庫的結合是構建靜態網站跟利用順序的基石。控制高效的數據庫連接操縱對進步利用順序的機能跟保險性至關重要。本文將深刻探究PHP與MySQL數據庫連接的操縱技能,並供給實用的編程倡議。
連接數據庫
利用mysqli擴大年夜
在PHP中,利用mysqli擴大年夜庫停止數據庫操縱是常用的方法之一。以下是怎樣利用mysqli連接數據庫的步調:
- 連接數據庫:利用
mysqli_connect()
函數來與MySQL數據庫樹破連接。
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);
// 檢查連接
if ($conn->connect_error) {
die("連接掉敗: " . $conn->connect_error);
}
利用PDO擴大年夜
PDO(PHP Data Objects)供給了一個數據庫抽象層,使得雷同的代碼可能在多種數據庫體系上運轉。
$host = 'localhost';
$db = 'myDB';
$user = 'root';
$pass = 'password';
$charset = 'utf8mb4';
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
try {
$pdo = new PDO($dsn, $user, $pass, $options);
} catch (\PDOException $e) {
throw new \PDOException($e->getMessage(), (int)$e->getCode());
}
查詢數據庫
利用mysqli擴大年夜
利用mysqli_query()
函數履行SQL查詢語句,並利用mysqli_fetch_assoc()
函數獲取每一行的成果。
$sql = "SELECT id, name, email FROM users";
$result = $conn->query($sql);
while ($row = $result->fetch_assoc()) {
echo "ID: " . $row["id"] . ", Name: " . $row["name"] . ", Email: " . $row["email"] . " ";
}
利用PDO擴大年夜
利用PDO的預處理語句來履行查詢。
$stmt = $pdo->prepare("SELECT id, name, email FROM users");
$stmt->execute();
while ($row = $stmt->fetch()) {
echo "ID: " . $row["id"] . ", Name: " . $row["name"] . ", Email: " . $row["email"] . " ";
}
拔出、更新跟刪除數據
利用mysqli擴大年夜
利用mysqli_query()
函數履行SQL拔出、更新跟刪除語句。
// 拔出數據
$sql = "INSERT INTO users (name, email) VALUES ('John', 'john@example.com')";
$conn->query($sql);
// 更新數據
$sql = "UPDATE users SET email = 'newemail@example.com' WHERE id = 1";
$conn->query($sql);
// 刪除數據
$sql = "DELETE FROM users WHERE id = 1";
$conn->query($sql);
利用PDO擴大年夜
利用PDO的預處理語句來履行拔出、更新跟刪除操縱。
// 拔出數據
$stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");
$stmt->execute(['name' => 'John', 'email' => 'john@example.com']);
// 更新數據
$stmt = $pdo->prepare("UPDATE users SET email = :email WHERE id = :id");
$stmt->execute(['email' => 'newemail@example.com', 'id' => 1]);
// 刪除數據
$stmt = $pdo->prepare("DELETE FROM users WHERE id = :id");
$stmt->execute(['id' => 1]);
封閉數據庫連接
實現數據庫操縱後,記得封閉數據庫連接以開釋資本。
$conn->close();
或許對PDO:
$pdo = null;
總結
控制PHP與MySQL數據庫的連接操縱對開辟高效、保險的Web利用順序至關重要。經由過程利用mysqli跟PDO擴大年夜,開辟者可能機動地履行數據庫操縱,同時確保代碼的可保護性跟擴大年夜性。