Masalah dan penyelesaian biasa untuk sambungan pangkalan data PHP ialah: kegagalan sambungan: semak maklumat sambungan dan status pertanyaan perkhidmatan MySQL: semak sintaks pertanyaan, jadual dan medan, dan kegagalan pemasukan, kemas kini dan pemadaman: semak pernyataan SQL, Sasaran jadual dan medan, dan kesahihan sambungan; sambungan pangkalan data bocor: tutup sambungan secara eksplisit atau gunakan percubaan...tangkap...akhirnya sekat. .
Masalah 2: PDO::__construct()
membuang pengecualian
$conn = mysqli_connect("localhost", "username", "password", "database"); if (!$conn) { echo "连接失败:" . mysqli_connect_error(); }
mysqli_connect()
返回 false$dsn = "mysql:host=localhost;dbname=database"; $conn = new PDO($dsn, "username", "password");
解决方法:
问题 2:PDO::__construct()
抛出异常
$query = "SELECT * FROM users"; $result = mysqli_query($conn, $query); if (!$result) { echo "查询失败:" . mysqli_error($conn); }
解决方法:
二、查询失败
问题 1:mysqli_query()
返回 false
$stmt = $conn->prepare($query); $stmt->execute();
解决方法:
问题 2:PDOStatement::execute() 抛出异常
// PHP >= 8.0,推荐使用 PDO $dsn = "mysql:host=localhost;dbname=database"; $conn = new PDO($dsn, "username", "password"); // PHP < 8.0,使用 mysqli_connect() $conn = mysqli_connect("localhost", "username", "password", "database");
解决方法:
三、插入、更新、删除失败
问题:mysqli_affected_rows()
或 PDOStatement::rowCount()
返回 0
解决方法:
四、其他问题
问题:数据库连接泄露
解决方法:
mysqli_close()
或 PDO::close()
显式关闭连接。try...catch...finally
2. Pertanyaan gagal
Masalah 1: mysqli_query()
mengembalikan palsu
// PDO $stmt = $conn->prepare("SELECT * FROM users WHERE id = ?"); $stmt->execute([$id]); $result = $stmt->fetchAll(); // mysqli $query = "SELECT * FROM users WHERE id = " . $id; $result = mysqli_query($conn, $query); $result = mysqli_fetch_all($result);
Penyelesaian: >
mysqli_affected_rows()
atau PDOStatement::rowCount()
mengembalikan 0🎜🎜🎜 :🎜🎜mysqli>_close()> ()
Menutup sambungan secara eksplisit. 🎜try...catch...finally
PHP untuk memastikan sambungan ditutup dalam apa jua keadaan. 🎜🎜🎜🎜Kes praktikal🎜🎜🎜🎜Sambung ke pangkalan data MySQL🎜🎜rrreee🎜🎜Soal pangkalan data🎜🎜rrreeeAtas ialah kandungan terperinci Masalah biasa dan penyelesaian kepada sambungan pangkalan data PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!