私はPHP PDOの完全な実例を探しており、クエリの実行とエラーの処理に関するベストプラクティスを持っています。ここに私がこれまで持っているものがあります。PHP PDO for Dummies
接続します。このようにしないと、接続障害はデフォルトでサイトのすべてのユーザーにDB資格情報を公開します。しかしながら
$stmt = $dbh->prepare("INSERT INTO sets");
$stmt->execute()
or error(0, "USERS ERROR ".__LINE__." ".print_r($dbh->errorInfo(),true));
$setID = $dbh->lastInsertID();
$stmt->closeCursor();
$stmt = $dbh->prepare("INSERT INTO words (language, name, detail, user, type, set) VALUES (?, ?, ?, ?, ?, ?)");
$stmt->execute(array($l1l, $l1w, $l1d, $userID, 'training', $setID))
or error(0, "USERS ERROR ".__LINE__." ".print_r($dbh->errorInfo(),true));
$stmt->closeCursor();
照会
try {
$dbh = new PDO("mysql:host=localhost;dbname=phor_lang", "phor_lang", "'9lsnthsn9");
} catch (PDOException $e) {
error(false, "PDO ERROR: " . $e->getMessage());
}
、これは失敗クエリで得られている(falseを返すを実行)し、エラーメッセージが空白です。
私はちょうど人々の70%を、あなただけそこに最も簡単なPDOのラッパークラスを望んでいることが分かった:ここ
は「エラー」の下に引用です。あなたがそれを直接使うべきではないので、PDOは例外やすべてのもので過剰に設計されています...あなたはDBクラスのこのすべての邪魔を隠すことになっています。 –