• [转]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>
    ";
    while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
        echo "	<tr>
    ";
        foreach ($line as $col_value) {
            echo "		<td>$col_value</td>
    ";
        }
        echo "	</tr>
    ";
    }
    echo "</table>
    ";
    
    // 释放结果集
    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 连接的追踪功能
  • 相关阅读:
    DFS-B
    DFS/BFS-A
    DFS-回溯与剪枝-C
    BFS-八数码问题与状态图搜索
    PTA-1003 我要通过!
    二分-G
    二分-F
    二分-E
    二分-D
    二分-C
  • 原文地址:https://www.cnblogs.com/wuling129/p/4710800.html
Copyright © 2020-2023  润新知