問題:
考慮以下 PHP 程式碼:
$st = $db->prepare("SELECT * FROM c6ode");
如何取得此查詢的預期 MySQL錯誤
解決方案:
要從prepare()中擷取錯誤訊息,您必須:
這是一個範例:
<?php $pdo = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'localonly', 'localonly'); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); $pdo->prepare('INSERT INTO DoesNotExist (x) VALUES (?)');
此程式碼將引發異常並列印以下內容錯誤訊息:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'test.doesnotexist' doesn't exist
以上是如何從 PHP 中的 PDO 的「prepare()」方法檢索 MySQL 錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!