簡體   English   中英

如何在PHP中捕獲SQL異常

[英]How to catch sql exceptions in php

我正在用php寫rest api,但是在api中插入一些null值時會引發錯誤。它將sql查詢顯示在響應頁面中,如何阻止它顯示出來,最好的異常處理是什么在這種情況下。我對php還是陌生的,因此可以提供任何幫助。 以下是我編寫的用於查詢的示例代碼。

  $limit = " LIMIT ".$post_data['offset'].",".$post_data['limit'];
    $sql = "SELECT record_id from ";
    $shareResult= $this->db->query($sql)->result_array();
    if(empty($shareResult[0]['record_id']) || $shareResult[0]['record_id'] != 0){
        $query="SELECT *";

        $result= $this->db->query($query);
        if($result->num_rows()>0){
            $res1=$this->db->query($qry)->result_array();
            $res[0]=$res1[0];
            $res[1]=$result->result_array();
            return $res;
        }
    }else if($shareResult[0]['record_id'] === 0){
        return false;
    }

如果您正在談論Codeigniters的默認調試選項,則應該仔細看看@your db config

這樣的事情應該出現

$db['default'] = array(
    'dsn'   => '',
    'hostname' => 'localhost',
    'username' => 'root',
    'password' => '',
    'database' => 'database_name',
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    'pconnect' => TRUE,
    'db_debug' => TRUE,
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array()
);

看一看db_debug並將其設置為false

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM