Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Lỗi khi kiểm tra các tuyên bố chuẩn bị sẵn của PDO

Tôi đã đặt trước chế độ lỗi thành các trường hợp ngoại lệ như sau:

$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

ngay sau khi tôi kết nối với cơ sở dữ liệu. Vì vậy, mọi vấn đề sẽ tạo ra một PDOException Vì vậy, mã của bạn sẽ là:

$selectQuery = '
                SELECT 
                    ' . implode($allFields, ', ') . ' 
                FROM 
                    People 
                WHERE 
                    ' . $fieldName . ' = :value
';
try
{ 
    $selectQueryResult = $db->prepare($selectQuery);
    selectQueryResult->bindParam(':value', $fieldValue);
    $selectQueryResult->execute();
}
catch(PDOException $e)
{
    handle_sql_errors($selectQuery, $e->getMessage());
}

chức năng sẽ ở đâu:

function handle_sql_errors($query, $error_message)
{
    echo '<pre>';
    echo $query;
    echo '</pre>';
    echo $error_message;
    die;
}
'; echo $ error_message; chết đi;}

Trên thực tế, tôi đang sử dụng một hàm chung cũng có một cái gì đó giống như

$debug = debug_backtrace();
echo 'Found in ' . $debug[0]['file'] . ' on line ' . $debug[0]['line'];

cho tôi biết vấn đề là do đâu nếu tôi đang chạy nhiều truy vấn



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách giới hạn truy vấn SHOW TABLES

  2. Tuyên bố chuẩn bị với ON DUPLICATE KEY

  3. php mysql fulltext search:lucene, sphinx, or?

  4. Cách tốt nhất để thông báo lỗi bắt LOAD DATA LOCAL INFILE?

  5. Người dùng hiển thị MySQL