我将 postgreSQL 9.1 与 postGIS 2.0 一起使用。还有 Apache 2.2.22 和 PHP 5.3.13。我正在尝试为 postgreSQL 设置 PHP 的 PDO。我也使用 Windows 7。据此我没问题,我检查了我的 php.ini 并找到了这一行extension=php_pgsql.dll
但是根据这个(运行时配置)我必须在我的 php.ini 中设置一个 dsn。我实际上并没有得到我必须做的事情。以及为什么。我尝试pdo.dsn.'pgsql:host=localhost;port=5432'
在 php.ini 中编写类似的内容,然后重新启动 Apache。
之后我创建了一个新的 php 文件来测试 PDO。这是代码
try {
$DBH = new PDO("pgsql:host=localhost;port=0000;dbname=blah;user=blah;password=blah");
$DBH->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
}
catch(PDOException $e) {
echo" sorry man! ";
echo $e->getMessage();
}
$name="frouto";
$STH = $DBH -> prepare("SELECT * FROM controller WHERE c_name LIKE :name;");
$STH->bindParam(':name', $name);
$STH->execute();
$result = $STH->fetchAll(PDO::FETCH_ASSOC);
测试 PDO 真的很简单。这根本不起作用。也不会打印异常错误。我猜运行时配置是错误的。而且dsn也是错的。我必须做些什么来修复它们?