gpt4 book ai didi

php - 如何从 PDO 故障 "Error!: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined"中获取更多信息?

转载 作者:可可西里 更新时间:2023-11-01 00:34:30 25 4
gpt4 key购买 nike

每隔一段时间我就会收到一个错误,例如以下 PDO 错误:

Error!: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined

有没有办法得到更具体的错误,例如行号、文件名、丢失的参数等,而不是模糊的消息?

最佳答案

首先,确保您已将 PDO 设置为在出错时抛出异常:

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

现在,确保每个 PDO 操作/操作集都包含在 try/catch block 中,如下所示:

try {

$stmt = $pdo->prepare("SELECT * FROM Whatever");
// ...yada yada yada, your PDO code goes here

} catch (PDOException $e) {

// This will echo the error message along with the file/line no on which the
// exception was thrown. You could e.g. log the string to a file instead.
echo $e->getMessage().' in '.$e->getFile().' on line '.$e->getLine();

}

所有异常都从基 Exception 扩展而来类,因此继承它的方法和它携带的有关错误的信息。

作为旁注,如果将 PDO 与 MySQL 一起使用,请确保禁用模拟的准备好的语句。 See here有关如何执行此操作以及为什么应该执行此操作的更多信息。

关于php - 如何从 PDO 故障 "Error!: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined"中获取更多信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12503462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com