【发布时间】:2019-09-03 16:13:23
【问题描述】:
出于安全原因,我尝试使用 PHP/MySQL 处理或捕获可能出现的错误,并想知道我是否做得对。
第一种情况:我将其用作函数,并在需要数据库连接时始终调用它。
第二种情况:不知道怎么处理。我将所有准备好的语句放在if 条件中,但这很尴尬。
那么$stmt->execute 呢?这也可能会失败,并且在 if 条件下也处理这个问题真的会让人感到困惑。
我希望有更好的方法。
第一:
function pdo () {
try {
$pdo = new PDO('mysql:host=localhost;dbname=dbname', 'user', 'pw');
}
catch(PDOException $e) {
header("Location: handle_error.php");
exit;
}
return ($pdo);
}
第二个:
if ($stmt = $pdo->prepare("SELECT a FROM b WHERE c = :c")) {
$stmt->execute(array(':c' => $c));
$result = $stmt->fetch();
echo 'All fine.';
}
else {
echo 'Now we have a problem.';
}
【问题讨论】:
-
欢迎你 Stack Overflow!我已经有了一流的答案,但你问的方式表明这在 Stack Overflow 上是相当离题的,你的问题更适合 codereview.stackexchange.com。请在那里询问或将其改写为“如何...”,例如@如何正确连接 PDO 并处理错误”
标签: php pdo error-handling