Bagaimana untuk memaparkan ralat mysqli_query
P粉713846879
P粉713846879 2023-09-01 13:52:57
0
1
571
<p>Saya cuba memaparkan mysqli_error dalam skrip php saya dan saya terus mendapat halaman hitam jika pertanyaan gagal tetapi mengembalikan respons pada kejayaan dan jika pertanyaan gagal mysqli_error($conn) dan mysqli_errno($conn) Hanya menunjukkan halaman hitam. Ini ialah skrip sambungan pangkalan data saya</p> <pre class="brush:php;toolbar:false;"><?php $ser = "ujian"; $user = "ujian"; $lulus = "ujian"; $db="ujian"; $conn = mysqli_connect($ser, $user, $pass, $db); jika (!$conn) { die("Sambungan gagal: " . mysqli_connect_error()); } ?></pra> <p>Pertanyaan PHP Saya</p> <pre class="brush:php;toolbar:false;"><?php sertakan 'conn.php'; jika ($conn) { $sql = "MASUKKAN KE DALAM tbl_users (userId, e-mel, pas) NILAI ('$userId', '$email', '$pass')"; if (mysqli_query($conn, $sql)) { echo json_encode(array( "status" ="Ok", "mesej" = "Berjaya", )); } lain { echo json_encode(array( "status" ="Ralat", "mesej" => )); } }</pre> <p>Jika pertanyaan berjalan dengan betul, saya boleh mendapat jawapan yang berjaya, tetapi jika saya menggunakan <strong>ini_set('display_errors', 1);</strong> halaman;< /strong> Saya mendapat ralat halaman penuh tetapi saya hanya mahu mysqli_error atau mysqli_errno. </p>
P粉713846879
P粉713846879

membalas semua(1)
P粉538462187

Sejak PHP 8.1, tetapan lalai untuk pelaporan ralat mysqli ialah MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT, yang menyebabkan ralat membuang pengecualian dan bukannya mengembalikan falsefalse.

Jika anda ingin menyemak ralat dalam kod anda dan bukannya mendapatkan pengecualian, gunakan

mysqli_report(MYSQLI_REPORT_OFF);

Penyelesaian yang lebih baik ialah menggunakan pengendali pengecualian.

if ($conn) {
    $sql = "INSERT INTO tbl_users (userId, email, pass) VALUES ('$userId', '$email', '$pass')";
    try {
        mysqli_query($conn, $sql);
        echo json_encode(array(
            "status" => "Ok",
            "message" => "Success",
        ));
    catch (mysqli_sql_exception $e) {
        echo json_encode(array(
            "status" => "Error",
            "message" => $e->getMessage()
        ));
    }
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan