当未找到记录时,PHP PDO类查询方法返回true或false
根据PHP文档 PDO::query()返回PDOStatement对象,失败时返回FALSE当未找到记录时,PHP PDO类查询方法返回true或false,php,pdo,Php,Pdo,根据PHP文档 PDO::query()返回PDOStatement对象,失败时返回FALSE 我这里的问题是,空结果是失败还是成功?空结果集仍然是查询的成功执行。它将返回PDOStatement对象。空结果集仍然是查询的成功执行。它将返回PDOStatement对象。空结果不是不返回行的failureA查询,因为没有满足条件的行,它仍然是有效查询,不会返回False空结果不是不返回行的failureA查询,因为没有满足条件的行,仍然是有效查询,不会返回False,但PDOStatement对象
我这里的问题是,空结果是失败还是成功?空结果集仍然是查询的成功执行。它将返回PDOStatement对象。空结果集仍然是查询的成功执行。它将返回PDOStatement对象。空结果不是不返回行的failureA查询,因为没有满足条件的行,它仍然是有效查询,不会返回False空结果不是不返回行的failureA查询,因为没有满足条件的行,仍然是有效查询,不会返回False,但PDOStatement对象将没有记录,对吗?PDO语句上的fetch()语句是否返回false?注意,文档仅部分正确。如果设置了
PDO::ERRMODE_EXCEPTION
集(您应该设置),则如果查询执行失败,它不会返回false
,而是会引发异常。@Devon PDO语句上的fetch()语句是否会返回false?@RinsadAhmed yes,fetch在结果集中没有更多行时返回false。这就是为什么while($row=$stmt->fetch())
可以工作并且不会创建一个无止境的循环。可能不是返回值的最佳文档,但我认为是这样,因为它无法从结果集中提取任何其他结果。但是PDOStatement对象将没有记录,对吗?PDO语句上的fetch()语句是否返回false?注意,文档仅部分正确。如果设置了PDO::ERRMODE_EXCEPTION
集(您应该设置),则如果查询执行失败,它不会返回false
,而是会引发异常。@Devon PDO语句上的fetch()语句是否会返回false?@RinsadAhmed yes,fetch在结果集中没有更多行时返回false。这就是为什么while($row=$stmt->fetch())
可以工作并且不会创建一个无止境的循环。可能不是返回值的最佳文档,但我认为是这样,因为它无法从结果集中提取任何其他结果。