首先推荐一下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 arraypg_fetch_all — 从结果中提取所有行作为一个数组pg_fetch_array — 提取一行作为数组pg_fetch_assoc — 提取一行作为关联数组pg_fetch_object — 提取一行作为对象pg_fetch_result — 从结果资源中返回值pg_fetch_row — 提取一行作为枚举数组pg_field_is_null — 测试字段是否为 NULLpg_field_name — 返回字段的名字pg_field_num — 返回字段的编号pg_field_prtlen — 返回打印出来的长度pg_field_size — 返回指定字段占用内部存储空间的大小pg_field_table — Returns the name or oid of the tables fieldpg_field_type_oid — Returns the type ID (OID) for the corresponding field numberpg_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 — 返回上一个对象的 oidpg_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 连接的追踪功能

转载于:https://www.cnblogs.com/wuling129/p/4710800.html

[转]php连接postgresql相关推荐

  1. Python3连接PostgreSQL(10.5)数据库

    一.Psycopg简介 Psycopg是Python编程语言中最流行的PostgreSQL数据库适配器.它的主要功能是完整实现Python DB API 2.0规范和线程安全(多个线程可以共享相同的连 ...

  2. Entity Freamwork 6连接PostgreSql数据库

    原文 Entity Freamwork 6连接PostgreSql数据库 开发环境 VS 2015  Update 1   Postgre Sql 9.4 使用过程 1.使用Nuget在项目中添加对E ...

  3. java编译POSTGRESQL_Java连接PostgreSQL数据库(安装环境 + 简易测试代码)

    --[楼主比较啰嗦, 会列出几个异常情况以供参考]-- 1, 安装环境 1.0 Win7 32位 1.2 编译器:  Spring Tool Suite 3.7.1  官网下载地址:http://sp ...

  4. Entity Framework 4.3.1 Code First 连接 PostgreSQL 9.2.3 小结

    在CentOS6.3上源码编译装好PostgreSQL9.2.3,下一步尝试将数据库从Microsoft SQL Server 2000迁移到PostgreSQL,并且尝试使用Entity Frame ...

  5. typescript-koa-postgresql 实现一个简单的rest风格服务器 —— 连接 postgresql 数据库...

    接上一篇,这里使用 sequelize 来连接 postgresql 数据库 1.安装 sequelize,数据库驱动 pg yarn add sequelize sequelize-typescri ...

  6. python连接postgresql数据库

    连接postgresql数据库 pip install psycopg2 ## 导入psycopg2包 import psycopg2 ## 连接到一个给定的数据库 conn = psycopg2.c ...

  7. 视频教程--ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库

    说好的给园子里的朋友们录制与<ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库> 这篇博客相对应的视频,由于一个月一来没有时 ...

  8. 连接postgresql

    # psycopg2 engine=create_engine('postgresql+psycopg2://scott:tiger@localhost/mydatabase')# python 连接 ...

  9. PHP PDO连接PostgreSQL报错 SCRAM authentication requires libpq version 10 or above in解决

    文章目录 一.PHP pdo方式连接PostgreSQL数据库 二.连接时发现如下报错 三.解决办法 一.PHP pdo方式连接PostgreSQL数据库 function pdo_query_pos ...

  10. navicat连接PostgreSQL报:column “rolcatupdate” does not exist ...错误的解决办法

    avicat premium 连接PostgreSQL出现: column "rolcatupdate" does not exist ... 错误如图: 解决方案: 看看你的na ...

最新文章

  1. NC:北京大学吴华君-基因组3D结构调控胚胎干细胞分化
  2. Java_Shell多线程
  3. 【Xamarin挖墙脚系列:使用Xamarin进行Hybrid应用开发】
  4. LeetCode 1219. 黄金矿工(回溯)
  5. MySql的存储过程和触发器
  6. 数据库创建时间,更新时间设计
  7. 【图像分割】基于形态学重建和过滤改进FCM算法(FRFCM)的图像分割【含Matlab源码 085期】
  8. Pubmedy加载时显示程序包无效的解决方案
  9. 企业信息科技安全的三道防线及解决方案
  10. Go语言值不值得学,发展前景怎么样?
  11. latex参考文献bib基本格式_在Latex中利用.bib进行参考文献管理
  12. Java实现腾讯云短信发送
  13. Java java.sql.SQLSyntaxErrorException:Duplicate column name ‘xxx‘问题解决
  14. php逆波兰表达式,PHP实现逆波兰式 - 计算工资时用
  15. 汉芯一号、木兰语言再到天赐OS,国产基础软件十年泣血,梦想何圆?
  16. idea 常用配置介绍(一)
  17. No input file specified 出现的原因及解决方法
  18. 2020年起重机司机(限桥式起重机)考试题及起重机司机(限桥式起重机)考试技巧
  19. 浅谈oracle索引
  20. 前后端分离及项目开发流程

热门文章

  1. 【转】重装Ubuntu时如何保留/home分区中的数据
  2. Windows基于gitee使用hexo搭建个人博客笔记
  3. PHP Excel导入数据到MySQL数据库
  4. Disney牵手联想发布AR头显,还有配备激光剑的AR游戏《星球大战》
  5. RHEL7和RHEL6的主要变化
  6. 腾讯云服务器的环境配置与使用
  7. CCAI 2017 | 专访德国语言技术领军者 Hans Uszkoreit:深度学习还不足以解决 NLP 核心问题...
  8. Rancher 1.6发布:EBS支持、密文管理和CLI增强
  9. [译]Introducing ASP.NET vNext and MVC 6
  10. 有关Silverlight TreeView组件的研究[2]——Silverlight学习笔记(7)