我正在寻找一个 PHP PDO 完整工作示例,其中包含运行查询和处理错误的最佳实践。这是我到目前为止所拥有的。
正在连接。如果您不这样做,默认情况下连接失败会将数据库凭据暴露给您站点的所有用户。
try {
$dbh = new PDO("mysql:host=localhost;dbname=phor_lang", "phor_lang", "'9lsnthsn9");
} catch (PDOException $e) {
error(false, "PDO ERROR: " . $e->getMessage());
}
查询
$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();
但是,这会导致查询失败(执行返回 false)并且错误消息为空白。