【揭秘PHP与MySQL数据库连接操作】高效编程技巧大公开

日期:

最佳答案

PHP与MySQL数据库的结合是构建静态网站跟利用顺序的基石。控制高效的数据库连接操纵对进步利用顺序的机能跟保险性至关重要。本文将深刻探究PHP与MySQL数据库连接的操纵技能,并供给实用的编程倡议。

连接数据库

利用mysqli扩大年夜

在PHP中,利用mysqli扩大年夜库停止数据库操纵是常用的方法之一。以下是怎样利用mysqli连接数据库的步调:

  1. 连接数据库:利用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扩大年夜,开辟者可能机动地履行数据库操纵,同时确保代码的可保护性跟扩大年夜性。