Home  >  Article  >  Backend Development  >  PHP连接PostgreSQL的有关问题

PHP连接PostgreSQL的有关问题

WBOY
WBOYOriginal
2016-06-13 12:03:04941browse

PHP连接PostgreSQL的问题

本帖最后由 houpengg 于 2014-07-24 22:18:17 编辑 这段时间正在学PostgreSQL,我用的是PDO方式来操作,连接、增删改查都可以正常操作,但是发现所有出错的语句都不会报错,比如在mysql中一条错误sql会直接中断并输出错误信息和错误号,但是postgresql只是给结果赋个false值,没有任何信息和提示,都不知道是不是因为sql语法的问题,还有就是在一个事务里,有出错的sql执行,最终居然也执行成功了。。。没有catch出任何错误。
不清楚是我哪里配置有问题或者操作方式不对,希望有了解的朋友可以点拨一下,谢谢!
------解决方案--------------------
PostgreSQL 不会给出错误号和错误信息?这显然是不可能的,只不过你不知道如何检查是否出错了而已
PDO 用两种提供错误信息的方式:
1、通过 errorInfo 方法返回一个数组
array(
  0 => ANSI SQL 标准的 SQLSTATE错误代码
  1 => 所用数据库自己定义的错误代码
  2 => 所用数据库自己定义的错误信息
}
你可通过检查第一项知否全 0 来判断是否有错
这是 PDO 默认的方式
2、通过设置属性项 PDO::ATTR_ERRMODE  的值为 PDO::ERRMODE_EXCEPTION 来指定使用异常抛出机制
	try {<br />		//在这里做各种数据库操作<br />	} catch (PDOException $e) {<br />		die( "Error!: " . $e->getMessage() . "\n" );<br />	}<br />
其实手册中说的很清楚了,只是你没有认真阅读而已
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn