[转]php连接postgresql
首先推荐一下postgres数据库,免费,强大,甚至某些方面比商业数据库还要好,大家可以试试。
安装:
附安装图解(网上找的):http://blog.sina.com.cn/s/blog_5edb701b0100mwi7.html
补充一点:最后Stack Builder提示下载的东西,如果网速不好,或者有事,可以不下载,不影响使用。
PHP连接:
php.ini中将extension=php_pgsql.dll前面的分号去掉,然后设置extension_dir指向php文件下的ext文件夹。
或者直接把将./php/libpq.dll(php文件夹下的libpq.dll)和./php/ext/php_pgsql.dll(ext文件夹下的php_pgsql.dll)这两个dll文件复制到C盘system32下。
正常情况下这样php就可以连接postgres了,但是我的仍然出错,提示“Fatal error: Call to undefined function pg_connect()”,查看Apache的日志,“PHP Startup: Unable to load dynamic library '****\\PHP5\\ext\\php_pdo_pgsql.dll”。
经过查找,在Apache中conf文件夹下的配置文件httpd.conf中添加 LoadFile "***/PHP5/libpq.dll",位置在LoadModule后面即可。
(***为php安装路径)
测试代码:
<?php
$conn_string = "host=localhost port=5432 dbname=db_name user=your user password=your password" ;
$dbconn = pg_connect($conn_string);
if (!$dbconn)
echo "连接失败!!!!!/r/n";
else
echo "连接成功!!!!!/r/n";
pg_close($dbconn);
?>
user一般为安装期间新建的用户postgres 例 1767. PostgreSQL 例子
<?php
// 连接,选择数据库
$dbconn = pg_connect("host=localhost dbname=publishing user=postgres password=foo port=5432")
or die('Could not connect: ' . pg_last_error()); // 执行 SQL 查询
$query = 'SELECT * FROM authors';
$result = pg_query($query) or die('Query failed: ' . pg_last_error()); // 用 HTML 显示结果
echo "<table>\n";
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n"; // 释放结果集
pg_free_result($result); // 关闭连接
pg_close($dbconn);
?>
目录
- pg_affected_rows — 返回受影响的记录数目
- pg_cancel_query — 取消异步查询
- pg_client_encoding — 取得客户端编码方式
- pg_close — 关闭一个 PostgreSQL 连接
- pg_connect — 打开一个 PostgreSQL 连接
- pg_connection_busy — 获知连接是否为忙
- pg_connection_reset — 重置连接(再次连接)
- pg_connection_status — 获得连接状态
- pg_convert — 将关联的数组值转换为适合 SQL 语句的格式。
- pg_copy_from — 根据数组将记录插入表中
- pg_copy_to — 将一个表拷贝到数组中
- pg_dbname — 获得数据库名
- pg_delete — 删除记录
- pg_end_copy — 与 PostgreSQL 后端同步
- pg_escape_bytea — 转义 bytea 类型的二进制数据
- pg_escape_string — 转义 text/char 类型的字符串
- pg_execute — Sends a request to execute a prepared statement with given parameters, and waits for the result.
- pg_fetch_all_columns — Fetches all rows in a particular result column as an array
- pg_fetch_all — 从结果中提取所有行作为一个数组
- pg_fetch_array — 提取一行作为数组
- pg_fetch_assoc — 提取一行作为关联数组
- pg_fetch_object — 提取一行作为对象
- pg_fetch_result — 从结果资源中返回值
- pg_fetch_row — 提取一行作为枚举数组
- pg_field_is_null — 测试字段是否为 NULL
- pg_field_name — 返回字段的名字
- pg_field_num — 返回字段的编号
- pg_field_prtlen — 返回打印出来的长度
- pg_field_size — 返回指定字段占用内部存储空间的大小
- pg_field_table — Returns the name or oid of the tables field
- pg_field_type_oid — Returns the type ID (OID) for the corresponding field number
- pg_field_type — 返回相应字段的类型名称
- pg_free_result — 释放查询结果占用的内存
- pg_get_notify — Ping 数据库连接
- pg_get_pid — Ping 数据库连接
- pg_get_result — 取得异步查询结果
- pg_host — 返回和某连接关联的主机名
- pg_insert — 将数组插入到表中
- pg_last_error — 得到某连接的最后一条错误信息
- pg_last_notice — 返回 PostgreSQL 服务器最新一条公告信息
- pg_last_oid — 返回上一个对象的 oid
- pg_lo_close — 关闭一个大型对象
- pg_lo_create — 新建一个大型对象
- pg_lo_export — 将大型对象导出到文件
- pg_lo_import — 将文件导入为大型对象
- pg_lo_open — 打开一个大型对象
- pg_lo_read_all — 读入整个大型对象并直接发送给浏览器
- pg_lo_read — 从大型对象中读入数据
- pg_lo_seek — 移动大型对象中的指针
- pg_lo_tell — 返回大型对象的当前指针位置
- pg_lo_unlink — 删除一个大型对象
- pg_lo_write — 向大型对象写入数据
- pg_meta_data — 获得表的元数据
- pg_num_fields — 返回字段的数目
- pg_num_rows — 返回行的数目
- pg_options — 获得和连接有关的选项
- pg_parameter_status — Looks up a current parameter setting of the server.
- pg_pconnect — 打开一个持久的 PostgreSQL 连接
- pg_ping — Ping 数据库连接
- pg_port — 返回该连接的端口号
- pg_prepare — Submits a request to create a prepared statement with the given parameters, and waits for completion.
- pg_put_line — 向 PostgreSQL 后端发送以 NULL 结尾的字符串
- pg_query_params — Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.
- pg_query — 执行查询
- pg_result_error_field — Returns an individual field of an error report.
- pg_result_error — 获得查询结果的错误信息
- pg_result_seek — 在结果资源中设定内部行偏移量
- pg_result_status — 获得查询结果的状态
- pg_select — 选择记录
- pg_send_execute — Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).
- pg_send_prepare — Sends a request to create a prepared statement with the given parameters, without waiting for completion.
- pg_send_query_params — Submits a command and separate parameters to the server without waiting for the result(s).
- pg_send_query — 发送异步查询
- pg_set_client_encoding — 设定客户端编码
- pg_set_error_verbosity — Determines the verbosity of messages returned by pg_last_error() andpg_result_error().
- pg_trace — 启动一个 PostgreSQL 连接的追踪功能
[转]php连接postgresql的更多相关文章
- ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库
前段时间在园子里看到了小蝶惊鸿 发布的有关绿色版的Linux.NET——“Jws.Mono”.由于我对.Net程序跑在Linux上非常感兴趣,自己也看了一些有关mono的资料,但是一直没有时间抽出时间 ...
- 视频教程--ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库
说好的给园子里的朋友们录制与<ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库> 这篇博客相对应的视频,由于一个月一来没有时 ...
- kali linux 系列教程之metasploit 连接postgresql可能遇见的问题
kali linux 系列教程之metasploit 连接postgresql可能遇见的问题 文/玄魂 目录 kali linux 下metasploit 连接postgresql可能遇见的问题. ...
- Entity Freamwork 6连接PostgreSql数据库
原文 Entity Freamwork 6连接PostgreSql数据库 开发环境 VS 2015 Update 1 Postgre Sql 9.4 使用过程 1.使用Nuget在项目中添加对E ...
- php连接postgresql
在ubuntu下用php连接postgresql需要下个模块php5-pgsql 连接数据库并显示一张表的内容: <?php #连接数据库 $conn = pg_connect("ho ...
- python连接postgresql数据库
python可以通过第三方模块连接postgresql. 比较有名的有psycopg2 和python3-postgresql (一)psycopg2 ubuntu下安装 sudo apt-get ...
- Abp.NHibernate连接PostgreSQl数据库
Abp.NHibernate动态库连接PostgreSQl数据库 初次接触Abp框架,其框架中封装的操作各类数据的方法还是很好用的,本人还在进一步的学习当中,并将利用abp.NHibernate类库操 ...
- QT连接postgreSQL
这是我之前项目遇到的问题,连接postgreSQL数据库,一直找不到引擎,最后终于找到 原因了,需要程序加载 1.安装postgresql客户端,2.需要配置postgresql客户端的bin和lib ...
- win7 安装用mingw编译的Qt源码并连接postgresql
下载Qt 1.下载qt-creator-windows-opensource-2.8.0,下载路径:http://download.qt.io/official_releases/qtcreator/ ...
- python2/3 利用psycopg2 连接postgreSQL数据库。
psycopg2 是一个通过python连接postgreSQL的库, 不要被它的名称蒙蔽了,你可能发现它的版本是psyconpg2.7.*, 以为它只能在python2上使用,实际上,这只是一个巧合 ...
随机推荐
- easyui好例子,值得借鉴
http://www.cnblogs.com/wuhuacong/p/3317223.html
- iOS开发之SDWebImage详解
介绍 github地址: https://github.com/rs/SDWebImage 简介 一个异步图片下载及缓存的库 特性: 一个扩展UIImageView分类的库,支持加载网络图片并缓存图片 ...
- 转:你真的懂得JS吗?
题目1 if (!("a" in window)) { var a = 1; } alert(a); // undefined, ~~~所有全局变量都是window的属性,声明语句 ...
- OGNL逻辑标签,UI标签
逻辑标签 public class IndexAction extends BasicAction{ private static final long serialVersionUID = 1L; ...
- 腾讯QQ是用什么语言开发的(转)
腾讯QQ的部分COM组件用的VC6,用exescope看其中几个dll的依赖,依赖于MFC42.dll,MSVCRT.dll,MSVCP60.dll都说明是VC6写的. 还有一部分用的VS2005,包 ...
- Vijos P1740聪明的质检员
题目 描述 小 T 是一名质量监督员,最近负责检验一批矿产的质量.这批矿产共有n个矿石,从1到n逐一编号,每个矿石都有自己的重量wi以及价值vi.检验矿产的流程是:1.给定m个区间[Li,Ri]:2. ...
- apache .htaccess文件详解和配置技巧总结
一..htaccess的基本作用 .htaccess是一个纯文本文件,它里面存放着Apache服务器配置相关的指令. .htaccess主要的作用有:URL重写.自定义错误页面.MIME类 ...
- 二分图最大匹配 hdoj 1045
题目:hdoj1045 题意:给出一个图.当中有 . 和 X 两种,. 为通路,X表示墙,在当中放炸弹,然后炸弹不能穿过墙.问你最多在图中能够放多少个炸弹? 分析:这道题目是在上海邀请赛的题目的数据简 ...
- 卸载了PL/SQL Developer,说一下与Toad for Oracle的对照
曾经一直用PL/SQL Developer来管理Oracle.发现真的使用起来非常不方便.打开非常卡,并且界面左上角总是多出那个框,怎么都无法设置默认隐藏掉. 唯一让人认为非常值得的就是有一个美化工具 ...
- 2014-7 Andrew Ng 自动化所报告听后感
原文:http://blog.sina.com.cn/s/blog_593af2a70102uwhl.html 一早出发,8点20就赶到现场, 人越聚越多,Ng提前几分钟到达现场,掌声一片. N ...