我正在尝试将MySQLi查询错误转换为“异常”,但不能-仅在无法连接数据库时抛出mysqli_sql_exception。
我使用了mysqli_report(MYSQLI_REPORT_STRICT)
程序化的MySQLi函数嵌入到自定义包装器类中。
以前的代码:
public function mysqlQuery($SQL) {
$this->Result = mysqli_query($this->DBlink, $SQL);
if($this->Result === false)
throw new MySQLiQueryException($SQL, mysqli_error($this->DBlink), mysqli_errno($this->DBlink));
return $this->Result;
}
问题: 查询失败是否正常,没有警告,也没有引发异常,所以我必须检查mysqli_query()是否返回false?
不久前,我设法解决了这个问题。正如在其他答案中指出的那样,
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
是告诉mysqli抛出异常的正确方法。
只要确保您 没有将每个查询都包装在try-catch中即可。这是一个非常普遍的误解,即一旦您开始使用异常,您就应该开始向左和向右抛出尝试和捕获。恰恰相反,应谨慎使用try-catch。虽然您不应将99%的错误处理到位,而是由整个站点的错误处理程序来处理。您可以从我有关PHP错误报告的文章中阅读有关该主题的更多信息。
我正在尝试将MySQLi查询错误转换为异常,但Couldn't-mysqli_sql_exception仅在连接DB失败时才会引发。 我使用了 和嵌入到自定义包装器类中的过程性MySQLi函数。 原代码: 问:当查询失败时不抛出警告或异常,因此我必须检查mysqli_query()是否返回false,这是正常的吗?
问题内容: 我想将以下SQL查询转换为Elasticsearch之一。谁能帮上忙 我尝试了以下方法: 但不确定我是否做对了,因为它无法验证结果。似乎要在聚合内添加查询。 问题答案: 假设您使用Elasticsearch 2.x,则有可能在Elasticsearch中 具有 -semantics。我不知道2.0之前的可能性。 您可以使用新的Pipeline Aggregation Bucket Se
这是从下面提到的SQL查询创建的JPQl查询: “org.springframework.dao.invalidDataAccessResourceUsageException:无法提取ResultSet;SQL[n/a];嵌套异常为org.hibernate.exception.sqlgrammarexception:无法提取ResultSet” 请问上述例外情况我能做些什么?
问题内容: 多亏了Erwin Brandstetter在我之前的问题“具有has_many关系的订单”中的帮助,我的SQL查询才能正常工作。 如何将该SQL转换为ActiveRecords或AREL查询以在范围中使用? 我最近来的是在朋友的帮助下… …这给了我一个错误: 更新: 我之前的问题对相关的架构和查询有完整的描述。但是基本上Articles have_many Metrics和一个Metr
问题内容: 实际上,我有1个查询,但无法将其转换为CakePHP查询格式。 当我将此查询转换为CakePHP时,会出现如下错误: 问题答案: 您可以轻松地在Cake上运行直接SQL查询,例如:$ this-> Picture-> query(“ SELECT * FROM pictures LIMIT 2;”); 或尝试与此类似的东西: ..确保您已正确链接Esl_Userresults和Esl_
我有两个表,它们通过一个外键来维护它们之间的父子关系。查询如下所示。我想在使用jpa的同时使用标准版。所以有人可以帮助我使用标准版吗 表“child”的“notification\u id\u child”列是外键,并引用表“parent”的主键。