Rumah  >  Artikel  >  pembangunan bahagian belakang  >  ralat sql output php

ralat sql output php

PHPz
PHPzasal
2023-05-28 16:38:07590semak imbas

Apabila menulis program PHP, penyahpepijatan dan pengendalian ralat SQL adalah tugas yang sangat penting. Ralat SQL mungkin berlaku semasa operasi pertanyaan, sisip, kemas kini atau padam, dan jika ralat ini tidak ditangani dengan segera, ia boleh menyebabkan pengecualian atau ranap aplikasi. Artikel ini akan menerangkan cara mengeluarkan ralat SQL dalam PHP untuk pemprosesan segera.

  1. Tetapan pelaporan ralat

Dalam PHP, mesej ralat SQL tidak dikeluarkan secara lalai dan pelaporan ralat perlu dihidupkan secara manual. Kami boleh menetapkan pilihan error_reporting dan display_errors dengan mengubah suai fail php.ini. Contohnya:

error_reporting = E_ALL
display_errors = On

Selepas menetapkan pilihan ini kepada nilai yang sepadan, PHP akan mengeluarkan mesej ralat pada halaman.

Jika anda tidak boleh mengubah suai fail php.ini pada masa ini, anda boleh menggunakan fungsi ini_set untuk menetapkan pilihan pelaporan ralat dalam program PHP anda. Contohnya:

ini_set('error_reporting', E_ALL);
ini_set('display_errors', 'On');

Dalam persekitaran pembangunan, adalah disyorkan untuk menetapkan pelaporan ralat kepada maksimum supaya masalah dapat ditemui dan diselesaikan tepat pada masanya.

  1. Pengendalian ralat pertanyaan

Apabila melaksanakan pertanyaan SQL dalam PHP, masalah seperti ralat sintaks, konflik kunci utama dan hasil pertanyaan kosong mungkin berlaku. Pada masa ini, kita boleh mengeluarkan maklumat ralat melalui fungsi mysqli_error. Contohnya:

$sql = "SELECT id, name FROM users WHERE age > 18";
$result = mysqli_query($conn, $sql);
if (!$result) {
    die(mysqli_error($conn));
}

Dalam contoh ini, jika ralat berlaku dalam pertanyaan, mesej ralat akan dikeluarkan. Kami boleh mengesan ralat pertanyaan SQL dengan cara ini untuk memudahkan penyahpepijatan.

  1. Pemasukan, kemas kini dan padam pengendalian ralat

Selain operasi pertanyaan, ralat juga mungkin berlaku dalam operasi sisipan, kemas kini dan padam. Sebagai contoh, apabila memasukkan sekeping data, sisipan mungkin gagal disebabkan konflik kunci utama atau sebab lain. Pada masa ini, kita boleh menggunakan fungsi mysqli_affected_rows untuk menentukan bilangan baris yang terjejas untuk menentukan sama ada operasi itu berjaya. Jika bilangan baris yang terjejas ialah 0, terdapat masalah dengan operasi. Contohnya:

$sql = "INSERT INTO users (name, age) VALUES ('John', 18)";
mysqli_query($conn, $sql);
if (mysqli_affected_rows($conn) == 0) {
    die("Insert failed: " . mysqli_error($conn));
}

Dalam contoh ini, mesej ralat akan dikeluarkan jika sisipan gagal. Begitu juga, kita juga boleh menggunakan fungsi mysqli_affected_rows untuk mengendalikan ralat untuk operasi kemas kini dan pemadaman.

  1. Pengendalian ralat sambungan pangkalan data

Apabila menyambung ke pangkalan data dalam PHP, ralat juga mungkin berlaku, seperti tidak dapat menyambung ke pangkalan data, nama pangkalan data yang salah, salah nama pengguna atau kata laluan dan lain-lain soalan. Pada masa ini kita boleh menggunakan fungsi mysqli_connect_errno dan mysqli_connect_error untuk mengeluarkan maklumat ralat. Contohnya:

$conn = mysqli_connect($host, $user, $password, $dbname);
if (mysqli_connect_errno()) {
    die("Failed to connect to MySQL: " . mysqli_connect_error());
}

Dalam contoh ini, jika sambungan ke pangkalan data gagal, mesej ralat akan dikeluarkan.

  1. Cadangan pengoptimuman kod

Selain kaedah di atas, apabila kami menulis program PHP, kami juga boleh mengoptimumkan kod dengan cara berikut:

  • Cuba gunakan pendekatan berorientasikan objek untuk operasi pangkalan data untuk mengelakkan suntikan SQL.
  • Menggunakan pernyataan yang disediakan untuk melaksanakan pertanyaan, memasukkan, mengemas kini dan memadam operasi boleh menghalang suntikan SQL dan meningkatkan kecekapan program dengan berkesan.
  • Peringkat kod dan gunakan ciri berorientasikan objek seperti pengkapsulan, pewarisan dan polimorfisme untuk meningkatkan kebolehgunaan semula dan kebolehselenggaraan kod.

Ringkasnya, dalam pengaturcaraan PHP, pengesanan tepat pada masanya dan pengendalian ralat SQL adalah sangat penting untuk memastikan operasi normal atur cara. Saya harap kaedah yang diperkenalkan dalam artikel ini dapat membantu anda dalam mengendalikan ralat SQL dalam pembangunan PHP.

Atas ialah kandungan terperinci ralat sql output php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn