【PHP】下らねぇ質問はID出して書き込みやがれ 111
レス数が950を超えています。1000を超えると書き込みができなくなります。
0986nobodyさん
2011/10/31(月) 00:59:24.06ID:hS+EiQVLtry{
$con = new PDO($dsn, $user, $password);
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e){
echo $e->getMessage();
}
try{
$sql = "SELECT * FROM :table";
$stmt = $con->prepare($sql);
$stmt->bindValue(":table","testtable");
if($stmt->execute()){
$info = $stmt->fetch(PDO::FETCH_ASSOC);
var_dump($info);
}else{
throw new PDOException("sql error occured.");
}
}catch(PDOException $e){
echo $e->errorInfo();
}
最初の
$con = new PDO($dsn, $user, $password);
の時点でDBのユーザー名・パスワードが違うなどでエラーが発生した場合は、
PDOExceptionがthrowされて $e->getMessage() でエラーメッセージが取得出来ます。
ですが、sqlの文法が違う、指定したテーブルがないなど、SQL発行時点でのエラーメッセージが取得できません。
例外をキャッチすることは出来るのですが、$e->errorInfo() は空の配列が帰ってきてしまいます。
MySQLなどのDBが発行したエラーはどうやったら取得できるのでしょうか?
レス数が950を超えています。1000を超えると書き込みができなくなります。