1.概述

本手册描述了PHP在Linux环境下连接UXDB数据库。

2.PHP安装

  1. 安装依赖 在安装PHP,需要先安装libsqlite3x和oniguruma依赖。

    yum install libsqlite3x-devel -y
    yum install oniguruma-devel -y
    
  2. 安装PHP a. 在/usr/local路径下,下载官网的PHP包:

    wget https://www.php.net/distributions/php-7.4.8.tar.gz
    

    b. 解压安装包:

    tar -zxvf php-7.4.8.tar.gz
    

    c.在php-7.4.8路径下,执行如下命令:

    ./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7 --enable-bcmath --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mbstring --enable-phpdbg --enable-shmop --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --with-zlib --with-curl  --with-pear --with-openssl --enable-pcntl
    

    d. 编译并安装php:

    make
    make install
    
  3. 配置环境变量

    在/etc/profile文件里面添加相关的PHP配置。

    sudo vim /etc/profile
    
    export GIT SSL NO VERIFY=true
    export VALGRIND HOME=/usr/local/valgrind
    export JAVA HOME=/usr/local/java/jdk1.8.0 161
    export PHP HOME=/usr/local/php7
    PATH=SPATH:SJAVA HOME/bin:SVALGRIND HOME/bin:$PHP HOME/bin
    export PATH
    

    执行如下命令使配置生效:

    source /etc/profile
    

3.uxsql和pdo_uxsql扩展安装

  1. 获取动态库

    下载驱动

  2. 安装动态库

    在PHP扩展安装路径下,解压安装包,得到两个so文件pdo_uxsql.so 和 uxsql.so。

    cd  /usr/local/php7/lib/php/extensions/no-debug-non-zts-20190902
    tar -xvf uxdb-php-linux.tar
    

4.相关配置

  1. php.ini

    a. 将源码路径下的php.ini文件拷贝至/usr/local/php7路径下。

    cp /usr/local/php-7.4.8/php.ini-development /usr/local/php7/php.ini
    

    b. 修改配置文件php.ini,如下:

    vim /usr/local/php7/php.ini
    

    在文件中找到cgi.fix_pathinfo配置项,去掉注释并设置为0,这主要是为了当文件不存在时,阻止Nginx将请求发送到后端的PHP-FPM模块,从而避免恶意脚本注入的攻击。

    ; A setting of zero causes PHP to behave as before.
    ; Default is 1.
    ; http://php.net/cgi.fix-pathinfo
    cgi.fix_pathinfo=0
    
    ; If cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside
    ; of the web tree and people will not be able to circumvent .htaccess security.
    ; http://php.net/cgi.discard-path
    cgi.discard_path=1
    
    

    新增扩展pdo_uxsql和uxsql:

    extension=pdo_uxsql
    extension=uxsql
    
  2. 关于php命令

    修改完php.ini配置文件后,通过php --ini命令查看ini文件加载情况,如图为已加载:

    [root@ux215 php7]# php --ini
    Configuration File (php.ini) Path: /usr/local/php7
    Loaded Configuration File:         /usr/local/php7/php.ini
    Scan for additional .ini files in: (none)
    Additional .ini files parsed:      (none)
    [root@ux215 php7]#     
    

    注意

    php.ini应该放在安装目录下,而不是安装目录的/etc/下,否则php可能找不到配置文件。

    假设安装目录为/usr/local/php7/,那么php.ini应该放在这个目录下,而不是在/usr/local/php7/etc/下。

    通过如下命令查看扩展包,确认包含pdo_uxsql和uxsql。

    php -m
    
  3. 创建用户

    创建分组 www:

    groupadd www
    

    创建用户www:

    useradd -g www www
    
  4. php-fpm.conf和www.conf

    php-fpm.conf和www.conf这两个文档不做任何修改,只需要拷贝至特定目录下:

    cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
    cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
    

5.php脚本连接使用uxdb

  1. 启动uxdb

    进入uxdb安装目录的bin目录下:

    cd  /home/uxdb/uxdbinstall/dbsql/bin
    

    初始化集群:

    ./initdb -W -D test
    

    启动数据库:

    ./ux_ctl -D test start
    
  2. 启动php

    执行如下命令启动php:

    /usr/local/php7/sbin/php-fpm
    

    查看进程:

    ps aux | grep php-fpm
    netstat -tln | grep 9000
    
    [root@ux215 php7]# /usr/local/php7/sbin/php-fpm
    [root@ux215 php7]# ps aux | grep php-fpm
    root     104595  0.0  0.2  218152  4284 ?        Ss   16:49   0:00 php-fpm: master process (/usr/local/php7/etc/php-fpm.conf)
    www      104596  0.0  0.2  220236  4204 ?        S    16:49   0:00 php-fpm: pool www
    www      104597  0.0  0.2  220236  4208 ?        S    16:49   0:00 php-fpm: pool www
    root     104624  0.0  0.0  112712   968 pts/2    S+   16:49   0:00 grep --color=auto php-fpm
    
    [root@ux215 php7]# netstat -tln | grep 9000
    tcp        0      0 127.0.0.1:9000          0.0.0.0:* LISTEN
    
  3. 脚本连接

    在/usr/local/php7/bin目录下创建test.php脚本文件,文件内容如下:

    <?php
    $host        = "host=127.0.0.1";
    $port        = "port=5432";
    $dbname      = "dbname=UXDB";
    $credentials = "user=UXDB password=*";
    
    $db = ux_connect( "$host $port $dbname $credentials"  );
    if(!$db){
      echo "Error : Unable to open database\n";
    } else {
      echo "Opened database successfully\n";
    }
    
    $sql =<<<EOF
      CREATE TABLE COMPANY
      (ID INT PRIMARY KEY     NOT NULL,
      NAME           TEXT    NOT NULL,
      AGE            INT     NOT NULL,
      ADDRESS        CHAR(50),
      SALARY         REAL);
    EOF;
    
      $ret = ux_query($db, $sql);
      if(!$ret){
          echo ux_last_error($db);
      } else {
          echo "Table created successfully\n";
      }
    
      $sql =<<<EOF
          INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
          VALUES (1, 'Paul', 32, 'California', 20000.00 );
    
          INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
          VALUES (2, 'Allen', 25, 'Texas', 15000.00 );
    
          INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
          VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );
    
          INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
          VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );
    EOF;
    
      $ret = ux_query($db, $sql);
      if(!$ret){
          echo ux_last_error($db);
      } else {
          echo "Records created successfully\n";
      }
    
        $sql =<<<EOF
          SELECT * from COMPANY;
    EOF;
    
      $ret = ux_query($db, $sql);
      if(!$ret){
          echo ux_last_error($db);
          exit;
      } 
      while($row = ux_fetch_row($ret)){
          echo "ID = ". $row[0] . "\n";
          echo "NAME = ". $row[1] ."\n";
          echo "ADDRESS = ". $row[3] ."\n";
          echo "SALARY =  ".$row[4] ."\n\n";
      }
      echo "Operation done successfully\n";
    
      ux_close($db);
    ?> 
    

    执行如下命令,查看结果:

    php test.php
    
    [uxdb@ux215 ~]$ php test.php
    Opened database successfully
    Table created successfully
    Records created successfully
    
    ID = 1
    NAME = Paul
    ADDRESS = California
    SALARY = 20000
    
    ID = 2
    NAME = Allen
    ADDRESS = Texas
    SALARY = 15000
    
    ID = 3
    NAME = Teddy
    ADDRESS = Norway
    SALARY = 20000
    
    ID = 4
    NAME = Mark
    ADDRESS = Rich-Mond
    SALARY = 65000
    
    Operation done successfully
    [uxdb@ux215 ~]$
    
  4. uxdb验证

    进入uxdb安装目录的bin目录下:

    cd  /home/uxdb/uxdbinstall/dbsql/bin
    

    连接数据库:

    ./uxsql
    

    查看company表中的内容:

    select * from company ;
    
    uxsql (10.0)
    Type "help" for help.
    uxdb=# select * from company;
     id |  name  | age |  address   | salary 
    ----+--------+-----+------------+--------
      1 | Paul   |  32 | California |  20000
      2 | Allen  |  25 | Texas      |  15000
      3 | Teddy  |  23 | Norway     |  20000
      4 | Mark   |  25 | Rich-Mond  |  65000
    (4 rows)
    
    uxdb=#
    

6.接口介绍

6.1.uxsql·连接接口

6.1.1.ux_connect

  • 功能

    建立数据库连接(可同时建立多个连接)

  • 函数

    ux_connect($connection_string)
    
  • 参数

    表 ux_connect 参数说明

    名称描述
    connection_string(输入)连接字符串,形如 "host=主机 port=端口 dbname=数据库 user=用户 password=密码 sslmode=disable"。
  • 返回值

    成功返回连接资源,失败返回 false。

6.1.2.ux_pconnect

  • 功能

    建立持久化数据库连接

  • 函数

    ux_pconnect($connection_string)
    
  • 参数

    表 ux_pconnect 参数说明

    名称描述
    connection_string(输入)连接字符串,格式同 ux_connect。
  • 返回值

    成功返回持久连接资源,失败返回 false。

6.1.3.ux_connect_poll

  • 功能

    轮询异步连接状态

  • 函数

    ux_connect_poll($connection)
    
  • 参数

    表 ux_connect_poll 参数说明

    名称描述
    connection(输入)连接资源。
  • 返回值

    返回轮询状态:PGSQL_POLLING_FAILED、PGSQL_POLLING_READING、PGSQL_POLLING_WRITING 或 PGSQL_POLLING_OK。

6.1.4.ux_close

  • 功能

    关闭数据库连接

  • 函数

    ux_close($connection)
    
  • 参数

    表 ux_close 参数说明

    名称描述
    connection(输入)连接资源(可选,默认关闭当前连接)。
  • 返回值

    成功返回 true。

6.1.5.ux_connection_status

  • 功能

    获取连接状态

  • 函数

    ux_connection_status($connection)
    
  • 参数

    表 ux_connection_status 参数说明

    名称描述
    connection(输入)连接资源。
  • 返回值

    返回 PGSQL_CONNECTION_OK 或 PGSQL_CONNECTION_BAD。

6.1.6.ux_connection_busy

  • 功能

    判断连接是否繁忙(有未完成的查询)

  • 函数

    ux_connection_busy($connection)
    
  • 参数

    表 ux_connection_busy 参数说明

    名称描述
    connection(输入)连接资源。
  • 返回值

    连接繁忙返回 true,否则返回 false。

6.1.7.ux_connection_reset

  • 功能

    重置连接

  • 函数

    ux_connection_reset($connection)
    
  • 参数

    表 ux_connection_reset 参数说明

    名称描述
    connection(输入)连接资源。
  • 返回值

    重置成功返回 true,失败返回 false。

6.1.8.ux_host

  • 功能

    获取连接的主机名

  • 函数

    ux_host($connection)
    
  • 参数

    表 ux_host 参数说明

    名称描述
    connection(输入)连接资源。
  • 返回值

    返回主机名字符串。

6.1.9.ux_dbname

  • 功能

    获取连接的数据库名

  • 函数

    ux_dbname($connection)
    
  • 参数

    表 ux_dbname 参数说明

    名称描述
    connection(输入)连接资源。
  • 返回值

    返回数据库名字符串。

6.1.10.ux_port

  • 功能

    获取连接的端口号

  • 函数

    ux_port($connection)
    
  • 参数

    表 ux_port 参数说明

    名称描述
    connection(输入)连接资源。
  • 返回值

    返回端口号字符串。

6.1.11.ux_tty

  • 功能

    获取连接的 tty 名

  • 函数

    ux_tty($connection)
    
  • 参数

    表 ux_tty 参数说明

    名称描述
    connection(输入)连接资源。
  • 返回值

    返回 tty 名字符串(通常为空)。

6.1.12.ux_options

  • 功能

    获取连接选项字符串

  • 函数

    ux_options($connection)
    
  • 参数

    表 ux_options 参数说明

    名称描述
    connection(输入)连接资源。
  • 返回值

    返回连接选项字符串。

6.1.13.ux_version

  • 功能

    获取客户端/协议版本信息

  • 函数

    ux_version($connection)
    
  • 参数

    表 ux_version 参数说明

    名称描述
    connection(输入)连接资源。
  • 返回值

    返回包含 client、protocol、server 等版本信息的数组。

6.1.14.ux_ping

  • 功能

    检测连接是否存活

  • 函数

    ux_ping($connection)
    
  • 参数

    表 ux_ping 参数说明

    名称描述
    connection(输入)连接资源(可选,默认使用当前连接)。
  • 返回值

    连接正常返回 true,不可用返回 false。

6.1.15.ux_parameter_status

  • 功能

    获取服务器参数状态

  • 函数

    ux_parameter_status($connection, $param_name)
    
  • 参数

    表 ux_parameter_status 参数说明

    名称描述
    connection(输入)连接资源。
    param_name(输入)要查询的服务器参数名,如 server_version。
  • 返回值

    返回参数值字符串,参数不存在返回 false。

6.1.16.ux_transaction_status

  • 功能

    获取当前事务状态

  • 函数

    ux_transaction_status($connection)
    
  • 参数

    表 ux_transaction_status 参数说明

    名称描述
    connection(输入)连接资源。
  • 返回值

    返回事务状态:PGSQL_TRANSACTION_IDLE、PGSQL_TRANSACTION_ACTIVE、PGSQL_TRANSACTION_INTRANS、PGSQL_TRANSACTION_INERROR 或 PGSQL_TRANSACTION_UNKNOWN。

6.2.uxsql·查询执行接口

6.2.1.ux_query

  • 功能

    执行 SQL 查询(同步)

  • 函数

    ux_query($connection, $query)
    
  • 参数

    表 ux_query 参数说明

    名称描述
    connection(输入)连接资源。
    query(输入)要执行的 SQL 语句字符串。
  • 返回值

    成功返回结果资源,失败返回 false。

6.2.2.ux_query_params

  • 功能

    带参数执行 SQL 查询

  • 函数

    ux_query_params($connection, $query, $params)
    
  • 参数

    表 ux_query_params 参数说明

    名称描述
    connection(输入)连接资源。
    query(输入)带 $1、$2 等占位符的 SQL 语句。
    params(输入)参数值数组,依次替换占位符。
  • 返回值

    成功返回结果资源,失败返回 false。

6.2.3.ux_prepare

  • 功能

    预处理 SQL 语句

  • 函数

    ux_prepare($connection, $stmtname, $query)
    
  • 参数

    表 ux_prepare 参数说明

    名称描述
    connection(输入)连接资源。
    stmtname(输入)预处理语句名称。
    query(输入)带 $1、$2 等占位符的 SQL 语句。
  • 返回值

    成功返回预处理语句资源,失败返回 false。

6.2.4.ux_execute

  • 功能

    执行预处理语句

  • 函数

    ux_execute($connection, $stmtname, $params)
    
  • 参数

    表 ux_execute 参数说明

    名称描述
    connection(输入)连接资源。
    stmtname(输入)要执行的预处理语句名称。
    params(输入)参数值数组,依次替换占位符。
  • 返回值

    成功返回结果资源,失败返回 false。

6.2.5.ux_send_query

  • 功能

    异步发送 SQL 查询

  • 函数

    ux_send_query($connection, $query)
    
  • 参数

    表 ux_send_query 参数说明

    名称描述
    connection(输入)连接资源。
    query(输入)要异步执行的 SQL 语句。
  • 返回值

    发送成功返回 true,失败返回 false。

6.2.6.ux_send_query_params

  • 功能

    异步发送带参数查询

  • 函数

    ux_send_query_params($connection, $query, $params)
    
  • 参数

    表 ux_send_query_params 参数说明

    名称描述
    connection(输入)连接资源。
    query(输入)带 $1、$2 占位符的 SQL 语句。
    params(输入)参数值数组。
  • 返回值

    发送成功返回 true,失败返回 false。

6.2.7.ux_send_prepare

  • 功能

    异步发送预处理请求

  • 函数

    ux_send_prepare($connection, $stmtname, $query)
    
  • 参数

    表 ux_send_prepare 参数说明

    名称描述
    connection(输入)连接资源。
    stmtname(输入)预处理语句名称。
    query(输入)带占位符的 SQL 语句。
  • 返回值

    发送成功返回 true,失败返回 false。

6.2.8.ux_send_execute

  • 功能

    异步发送预处理执行请求

  • 函数

    ux_send_execute($connection, $stmtname, $params)
    
  • 参数

    表 ux_send_execute 参数说明

    名称描述
    connection(输入)连接资源。
    stmtname(输入)预处理语句名称。
    params(输入)参数值数组。
  • 返回值

    发送成功返回 true,失败返回 false。

6.2.9.ux_cancel_query

  • 功能

    取消进行中的异步查询

  • 函数

    ux_cancel_query($connection)
    
  • 参数

    表 ux_cancel_query 参数说明

    名称描述
    connection(输入)连接资源。
  • 返回值

    取消成功返回 true,失败返回 false。

6.3.uxsql·结果集接口

6.3.1.ux_fetch_result

  • 功能

    获取结果中指定行列的字段值

  • 函数

    ux_fetch_result($result, $row, $field)
    
  • 参数

    表 ux_fetch_result 参数说明

    名称描述
    result(输入)结果资源。
    row(输入)行号(从 0 开始)。
    field(输入)列号或列名。
  • 返回值

    返回指定行列的字段值(字符串),行/列越界或值为 NULL 时返回 false。

6.3.2.ux_fetch_row

  • 功能

    以数字索引取下一行

  • 函数

    ux_fetch_row($result, $row)
    
  • 参数

    表 ux_fetch_row 参数说明

    名称描述
    result(输入)结果资源。
    row(输入)行号(可选),缺省为下一行。
  • 返回值

    返回数字索引数组,无更多行返回 false。

6.3.3.ux_fetch_assoc

  • 功能

    以关联索引取下一行

  • 函数

    ux_fetch_assoc($result, $row)
    
  • 参数

    表 ux_fetch_assoc 参数说明

    名称描述
    result(输入)结果资源。
    row(输入)行号(可选),缺省为下一行。
  • 返回值

    返回关联(字段名)索引数组,无更多行返回 false。

6.3.4.ux_fetch_array

  • 功能

    以数字+关联索引取下一行

  • 函数

    ux_fetch_array($result, $row, $result_type)
    
  • 参数

    表 ux_fetch_array 参数说明

    名称描述
    result(输入)结果资源。
    row(输入)行号(可选),缺省为下一行。
    result_type(输入)结果类型(可选):PGSQL_ASSOC、PGSQL_NUM 或 PGSQL_BOTH。
  • 返回值

    返回数字与关联混合索引数组,无更多行返回 false。

6.3.5.ux_fetch_object

  • 功能

    取下一行并转为对象

  • 函数

    ux_fetch_object($result, $row, $class, $params)
    
  • 参数

    表 ux_fetch_object 参数说明

    名称描述
    result(输入)结果资源。
    row(输入)行号(可选),缺省为下一行。
    class(输入)要实例化的类名(可选)。
    params(输入)类构造参数数组(可选)。
  • 返回值

    返回对象,无更多行返回 false。

6.3.6.ux_fetch_all

  • 功能

    获取全部结果行(数组)

  • 函数

    ux_fetch_all($result, $mode)
    
  • 参数

    表 ux_fetch_all 参数说明

    名称描述
    result(输入)结果资源。
    mode(输入)结果类型(可选):PGSQL_ASSOC、PGSQL_NUM 或 PGSQL_BOTH。
  • 返回值

    返回包含全部结果行的数组,无结果返回空数组。

6.3.7.ux_fetch_all_columns

  • 功能

    获取指定列的全部值

  • 函数

    ux_fetch_all_columns($result, $field)
    
  • 参数

    表 ux_fetch_all_columns 参数说明

    名称描述
    result(输入)结果资源。
    field(输入)列号(从 0 开始)。
  • 返回值

    返回指定列全部值的数组。

6.3.8.ux_affected_rows

  • 功能

    获取受影响的行数

  • 函数

    ux_affected_rows($result)
    
  • 参数

    表 ux_affected_rows 参数说明

    名称描述
    result(输入)结果资源。
  • 返回值

    返回受影响的行数(int)。

6.3.9.ux_get_result

  • 功能

    获取异步查询的结果集

  • 函数

    ux_get_result($connection)
    
  • 参数

    表 ux_get_result 参数说明

    名称描述
    connection(输入)连接资源。
  • 返回值

    返回异步查询的结果资源,暂无结果返回 false。

6.3.10.ux_result_seek

  • 功能

    移动结果集行指针

  • 函数

    ux_result_seek($result, $offset)
    
  • 参数

    表 ux_result_seek 参数说明

    名称描述
    result(输入)结果资源。
    offset(输入)目标行号。
  • 返回值

    成功返回 true,失败返回 false。

6.3.11.ux_result_status

  • 功能

    获取结果集状态

  • 函数

    ux_result_status($result)
    
  • 参数

    表 ux_result_status 参数说明

    名称描述
    result(输入)结果资源。
  • 返回值

    返回结果状态:PGSQL_EMPTY_QUERY、PGSQL_COMMAND_OK、PGSQL_TUPLES_OK、PGSQL_COPY_OUT、PGSQL_COPY_IN、PGSQL_BAD_RESPONSE、PGSQL_NONFATAL_ERROR 或 PGSQL_FATAL_ERROR。

6.3.12.ux_free_result

  • 功能

    释放结果集内存

  • 函数

    ux_free_result($result)
    
  • 参数

    表 ux_free_result 参数说明

    名称描述
    result(输入)结果资源。
  • 返回值

    成功返回 true,失败返回 false。

6.3.13.ux_last_oid

  • 功能

    获取最后插入行的 OID

  • 函数

    ux_last_oid($result)
    
  • 参数

    表 ux_last_oid 参数说明

    名称描述
    result(输入)结果资源。
  • 返回值

    返回最后插入行的 OID(字符串或 int)。

6.3.14.ux_num_rows

  • 功能

    获取结果行数

  • 函数

    ux_num_rows($result)
    
  • 参数

    表 ux_num_rows 参数说明

    名称描述
    result(输入)结果资源。
  • 返回值

    返回结果行数(int)。

6.3.15.ux_num_fields

  • 功能

    获取结果列数

  • 函数

    ux_num_fields($result)
    
  • 参数

    表 ux_num_fields 参数说明

    名称描述
    result(输入)结果资源。
  • 返回值

    返回结果列数(int)。

6.3.16.ux_field_name

  • 功能

    获取列名

  • 函数

    ux_field_name($result, $field)
    
  • 参数

    表 ux_field_name 参数说明

    名称描述
    result(输入)结果资源。
    field(输入)列号。
  • 返回值

    返回列名字符串。

6.3.17.ux_field_num

  • 功能

    获取列序号

  • 函数

    ux_field_num($result, $field)
    
  • 参数

    表 ux_field_num 参数说明

    名称描述
    result(输入)结果资源。
    field(输入)列名。
  • 返回值

    返回列序号(int)。

6.3.18.ux_field_size

  • 功能

    获取列数据存储大小

  • 函数

    ux_field_size($result, $field)
    
  • 参数

    表 ux_field_size 参数说明

    名称描述
    result(输入)结果资源。
    field(输入)列号。
  • 返回值

    返回列数据存储大小(int,-1 表示变长)。

6.3.19.ux_field_type

  • 功能

    获取列类型名

  • 函数

    ux_field_type($result, $field)
    
  • 参数

    表 ux_field_type 参数说明

    名称描述
    result(输入)结果资源。
    field(输入)列号。
  • 返回值

    返回列类型名字符串。

6.3.20.ux_field_type_oid

  • 功能

    获取列类型 OID

  • 函数

    ux_field_type_oid($result, $field)
    
  • 参数

    表 ux_field_type_oid 参数说明

    名称描述
    result(输入)结果资源。
    field(输入)列号。
  • 返回值

    返回列类型 OID(int)。

6.3.21.ux_field_prtlen

  • 功能

    获取列打印长度

  • 函数

    ux_field_prtlen($result, $row, $field)
    
  • 参数

    表 ux_field_prtlen 参数说明

    名称描述
    result(输入)结果资源。
    row(输入)行号(可选)。
    field(输入)列号或列名。
  • 返回值

    返回列打印长度(int)。

6.3.22.ux_field_is_null

  • 功能

    判断列值是否为 NULL

  • 函数

    ux_field_is_null($result, $row, $field)
    
  • 参数

    表 ux_field_is_null 参数说明

    名称描述
    result(输入)结果资源。
    row(输入)行号(可选)。
    field(输入)列号或列名。
  • 返回值

    值为 NULL 返回 1,否则返回 0,出错返回 false。

6.3.23.ux_field_table

  • 功能

    获取列所属表信息

  • 函数

    ux_field_table($result, $field, $oid_only)
    
  • 参数

    表 ux_field_table 参数说明

    名称描述
    result(输入)结果资源。
    field(输入)列号。
    oid_only(输入)是否只返回 OID(可选):true 返回 OID,false 返回表名。
  • 返回值

    返回列所属表的表名或 OID。

6.4.uxsql·异步通知接口

6.4.1.ux_get_notify

  • 功能

    获取 LISTEN/NOTIFY 异步通知

  • 函数

    ux_get_notify($connection, $result_type)
    
  • 参数

    表 ux_get_notify 参数说明

    名称描述
    connection(输入)连接资源。
    result_type(输入)结果类型(可选):PGSQL_ASSOC、PGSQL_NUM 或 PGSQL_BOTH。
  • 返回值

    返回含 message、pid 的通知数组,无通知返回 false。

6.4.2.ux_socket

  • 功能

    获取连接底层 socket 句柄

  • 函数

    ux_socket($connection)
    
  • 参数

    表 ux_socket 参数说明

    名称描述
    connection(输入)连接资源。
  • 返回值

    成功返回底层 socket 资源,失败返回 false。

6.4.3.ux_consume_input

  • 功能

    读取服务器异步输入

  • 函数

    ux_consume_input($connection)
    
  • 参数

    表 ux_consume_input 参数说明

    名称描述
    connection(输入)连接资源。
  • 返回值

    成功返回 true,出错返回 false。

6.4.4.ux_flush

  • 功能

    刷新输出缓冲区

  • 函数

    ux_flush($connection)
    
  • 参数

    表 ux_flush 参数说明

    名称描述
    connection(输入)连接资源。
  • 返回值

    成功返回 true,失败返回 false。

6.4.5.ux_get_pid

  • 功能

    获取后端进程 PID

  • 函数

    ux_get_pid($connection)
    
  • 参数

    表 ux_get_pid 参数说明

    名称描述
    connection(输入)连接资源。
  • 返回值

    返回后端进程 PID(int)。

6.5.uxsql·错误处理接口

6.5.1.ux_result_error

  • 功能

    获取结果集错误消息

  • 函数

    ux_result_error($result)
    
  • 参数

    表 ux_result_error 参数说明

    名称描述
    result(输入)结果资源。
  • 返回值

    返回错误消息字符串,无错误返回 false。

6.5.2.ux_result_error_field

  • 功能

    获取结果集错误的指定诊断字段

  • 函数

    ux_result_error_field($result, $fieldcode)
    
  • 参数

    表 ux_result_error_field 参数说明

    名称描述
    result(输入)结果资源。
    fieldcode(输入)诊断字段码,如 PGSQL_DIAG_SEVERITY、PGSQL_DIAG_MESSAGE_PRIMARY 等。
  • 返回值

    返回诊断字段值,字段不存在返回 false。

6.5.3.ux_last_error

  • 功能

    获取最近一次错误消息

  • 函数

    ux_last_error($connection)
    
  • 参数

    表 ux_last_error 参数说明

    名称描述
    connection(输入)连接资源(可选)。
  • 返回值

    返回最近一次错误消息字符串。

6.5.4.ux_last_notice

  • 功能

    获取最近一次 NOTICE 消息

  • 函数

    ux_last_notice($connection)
    
  • 参数

    表 ux_last_notice 参数说明

    名称描述
    connection(输入)连接资源。
  • 返回值

    返回最近一次 NOTICE 消息字符串。

6.5.5.ux_set_error_verbosity

  • 功能

    设置错误报告详细度

  • 函数

    ux_set_error_verbosity($connection, $verbosity)
    
  • 参数

    表 ux_set_error_verbosity 参数说明

    名称描述
    connection(输入)连接资源。
    verbosity(输入)详细度:PGSQL_ERRORS_TERSE、PGSQL_ERRORS_DEFAULT 或 PGSQL_ERRORS_VERBOSE。
  • 返回值

    返回设置前的详细度。

6.6.uxsql·COPY 接口

6.6.1.ux_put_line

  • 功能

    向 COPY 操作写入一行数据

  • 函数

    ux_put_line($connection, $data)
    
  • 参数

    表 ux_put_line 参数说明

    名称描述
    connection(输入)连接资源。
    data(输入)要写入 COPY 的一行数据。
  • 返回值

    成功返回 true,失败返回 false。

6.6.2.ux_end_copy

  • 功能

    结束 COPY 操作并同步

  • 函数

    ux_end_copy($connection)
    
  • 参数

    表 ux_end_copy 参数说明

    名称描述
    connection(输入)连接资源(可选)。
  • 返回值

    成功返回 true,失败返回 false。

6.6.3.ux_copy_to

  • 功能

    将表数据导出到数组(COPY)

  • 函数

    ux_copy_to($connection, $table, $delimiter, $null_as)
    
  • 参数

    表 ux_copy_to 参数说明

    名称描述
    connection(输入)连接资源。
    table(输入)要导出的表名。
    delimiter(输入)字段分隔符(可选)。
    null_as(输入)NULL 值的文本表示(可选)。
  • 返回值

    返回数据行数组,失败返回 false。

6.6.4.ux_copy_from

  • 功能

    将数组数据导入表(COPY)

  • 函数

    ux_copy_from($connection, $table, $rows, $delimiter, $null_as)
    
  • 参数

    表 ux_copy_from 参数说明

    名称描述
    connection(输入)连接资源。
    table(输入)目标表名。
    rows(输入)数据行数组。
    delimiter(输入)字段分隔符(可选)。
    null_as(输入)NULL 值的文本表示(可选)。
  • 返回值

    成功返回 true,失败返回 false。

6.7.uxsql·大对象(LOB)接口

6.7.1.ux_lo_create

  • 功能

    创建大对象

  • 函数

    ux_lo_create($connection, $oid)
    
  • 参数

    表 ux_lo_create 参数说明

    名称描述
    connection(输入)连接资源。
    oid(输入)大对象 OID(可选),缺省由系统自动分配。
  • 返回值

    成功返回大对象 OID,失败返回 false。

  • 功能

    删除大对象

  • 函数

    ux_lo_unlink($connection, $oid)
    
  • 参数

    表 ux_lo_unlink 参数说明

    名称描述
    connection(输入)连接资源。
    oid(输入)大对象 OID。
  • 返回值

    成功返回 true,失败返回 false。

6.7.3.ux_lo_open

  • 功能

    打开大对象

  • 函数

    ux_lo_open($connection, $oid, $mode)
    
  • 参数

    表 ux_lo_open 参数说明

    名称描述
    connection(输入)连接资源。
    oid(输入)大对象 OID。
    mode(输入)访问模式:"r"(只读)、"w"(只写)或 "rw"(读写)。
  • 返回值

    成功返回大对象资源,失败返回 false。

6.7.4.ux_lo_close

  • 功能

    关闭大对象

  • 函数

    ux_lo_close($lob)
    
  • 参数

    表 ux_lo_close 参数说明

    名称描述
    lob(输入)大对象资源。
  • 返回值

    成功返回 true,失败返回 false。

6.7.5.ux_lo_read

  • 功能

    读取大对象数据

  • 函数

    ux_lo_read($lob, $len)
    
  • 参数

    表 ux_lo_read 参数说明

    名称描述
    lob(输入)大对象资源。
    len(输入)要读取的字节数。
  • 返回值

    返回读取的数据字符串,出错返回 false。

6.7.6.ux_lo_write

  • 功能

    写入大对象数据

  • 函数

    ux_lo_write($lob, $data)
    
  • 参数

    表 ux_lo_write 参数说明

    名称描述
    lob(输入)大对象资源。
    data(输入)要写入的数据。
  • 返回值

    返回写入的字节数,出错返回 false。

6.7.7.ux_lo_read_all

  • 功能

    读取整个大对象

  • 函数

    ux_lo_read_all($lob)
    
  • 参数

    表 ux_lo_read_all 参数说明

    名称描述
    lob(输入)大对象资源。
  • 返回值

    返回整个大对象的内容字符串。

6.7.8.ux_lo_import

  • 功能

    从文件导入大对象

  • 函数

    ux_lo_import($connection, $pathname, $oid)
    
  • 参数

    表 ux_lo_import 参数说明

    名称描述
    connection(输入)连接资源。
    pathname(输入)要导入的文件路径。
    oid(输入)目标大对象 OID(可选)。
  • 返回值

    成功返回大对象 OID,失败返回 false。

6.7.9.ux_lo_export

  • 功能

    导出大对象到文件

  • 函数

    ux_lo_export($connection, $oid, $pathname)
    
  • 参数

    表 ux_lo_export 参数说明

    名称描述
    connection(输入)连接资源。
    oid(输入)大对象 OID。
    pathname(输入)导出文件路径。
  • 返回值

    成功返回 true,失败返回 false。

6.7.10.ux_lo_seek

  • 功能

    定位大对象读写偏移

  • 函数

    ux_lo_seek($lob, $offset, $whence)
    
  • 参数

    表 ux_lo_seek 参数说明

    名称描述
    lob(输入)大对象资源。
    offset(输入)偏移量。
    whence(输入)基准位置(可选):PGSQL_SEEK_SET、PGSQL_SEEK_CUR 或 PGSQL_SEEK_END。
  • 返回值

    成功返回 true,失败返回 false。

6.7.11.ux_lo_tell

  • 功能

    获取大对象当前偏移

  • 函数

    ux_lo_tell($lob)
    
  • 参数

    表 ux_lo_tell 参数说明

    名称描述
    lob(输入)大对象资源。
  • 返回值

    返回当前偏移量(int)。

6.7.12.ux_lo_truncate

  • 功能

    截断大对象

  • 函数

    ux_lo_truncate($lob, $size)
    
  • 参数

    表 ux_lo_truncate 参数说明

    名称描述
    lob(输入)大对象资源。
    size(输入)截断后的字节数。
  • 返回值

    成功返回 true,失败返回 false。

6.8.uxsql·转义与编码接口

6.8.1.ux_escape_string

  • 功能

    转义字符串(用于 SQL 文本)

  • 函数

    ux_escape_string($connection, $data)
    
  • 参数

    表 ux_escape_string 参数说明

    名称描述
    connection(输入)连接资源(可选)。
    data(输入)要转义的字符串。
  • 返回值

    返回转义后的字符串。

6.8.2.ux_escape_bytea

  • 功能

    转义二进制数据为可插入 SQL 的格式

  • 函数

    ux_escape_bytea($connection, $data)
    
  • 参数

    表 ux_escape_bytea 参数说明

    名称描述
    connection(输入)连接资源(可选)。
    data(输入)要转义的二进制数据。
  • 返回值

    返回转义后的 bytea 字符串。

6.8.3.ux_unescape_bytea

  • 功能

    将转义后的 bytea 数据还原

  • 函数

    ux_unescape_bytea($data)
    
  • 参数

    表 ux_unescape_bytea 参数说明

    名称描述
    data(输入)转义后的 bytea 字符串。
  • 返回值

    返回还原的二进制数据。

6.8.4.ux_escape_literal

  • 功能

    转义 SQL 字面量

  • 函数

    ux_escape_literal($connection, $data)
    
  • 参数

    表 ux_escape_literal 参数说明

    名称描述
    connection(输入)连接资源(可选)。
    data(输入)要转义的 SQL 字面量。
  • 返回值

    返回转义并加引号的 SQL 字面量。

6.8.5.ux_escape_identifier

  • 功能

    转义 SQL 标识符

  • 函数

    ux_escape_identifier($connection, $data)
    
  • 参数

    表 ux_escape_identifier 参数说明

    名称描述
    connection(输入)连接资源(可选)。
    data(输入)要转义的 SQL 标识符。
  • 返回值

    返回转义并加引号的 SQL 标识符。

6.8.6.ux_client_encoding

  • 功能

    获取客户端字符编码

  • 函数

    ux_client_encoding($connection)
    
  • 参数

    表 ux_client_encoding 参数说明

    名称描述
    connection(输入)连接资源(可选)。
  • 返回值

    返回客户端编码字符串。

6.8.7.ux_set_client_encoding

  • 功能

    设置客户端字符编码

  • 函数

    ux_set_client_encoding($connection, $encoding)
    
  • 参数

    表 ux_set_client_encoding 参数说明

    名称描述
    connection(输入)连接资源(可选)。
    encoding(输入)编码名,如 UTF8。
  • 返回值

    成功返回 0,失败返回 -1。

6.9.uxsql·调试接口

6.9.1.ux_trace

  • 功能

    开启 SQL 跟踪输出

  • 函数

    ux_trace($file, $mode, $connection)
    
  • 参数

    表 ux_trace 参数说明

    名称描述
    file(输入)跟踪输出文件路径。
    mode(输入)写入模式(可选):追加或覆盖。
    connection(输入)连接资源(可选)。
  • 返回值

    成功返回 true,失败返回 false。

6.9.2.ux_untrace

  • 功能

    关闭 SQL 跟踪输出

  • 函数

    ux_untrace($connection)
    
  • 参数

    表 ux_untrace 参数说明

    名称描述
    connection(输入)连接资源(可选)。
  • 返回值

    成功返回 true。

6.10.uxsql·元数据/CRUD辅助接口

6.10.1.ux_meta_data

  • 功能

    获取表的元数据信息

  • 函数

    ux_meta_data($connection, $table, $extended)
    
  • 参数

    表 ux_meta_data 参数说明

    名称描述
    connection(输入)连接资源。
    table(输入)表名。
    extended(输入)是否返回扩展信息(可选)。
  • 返回值

    返回表元数据数组,失败返回 false。

6.10.2.ux_convert

  • 功能

    将数组值按字段类型转换

  • 函数

    ux_convert($connection, $table, $values)
    
  • 参数

    表 ux_convert 参数说明

    名称描述
    connection(输入)连接资源。
    table(输入)表名。
    values(输入)要转换的值数组。
  • 返回值

    返回按字段类型转换后的值数组。

6.10.3.ux_insert

  • 功能

    由数组生成并执行 INSERT

  • 函数

    ux_insert($connection, $table, $values)
    
  • 参数

    表 ux_insert 参数说明

    名称描述
    connection(输入)连接资源。
    table(输入)表名。
    values(输入)列名到值的关联数组。
  • 返回值

    成功返回结果资源,失败返回 false。

6.10.4.ux_update

  • 功能

    由数组生成并执行 UPDATE

  • 函数

    ux_update($connection, $table, $values, $condition)
    
  • 参数

    表 ux_update 参数说明

    名称描述
    connection(输入)连接资源。
    table(输入)表名。
    values(输入)列名到值的关联数组。
    condition(输入)更新条件关联数组(列名 => 值)。
  • 返回值

    成功返回 true,失败返回 false。

6.10.5.ux_delete

  • 功能

    由数组条件生成并执行 DELETE

  • 函数

    ux_delete($connection, $table, $condition)
    
  • 参数

    表 ux_delete 参数说明

    名称描述
    connection(输入)连接资源。
    table(输入)表名。
    condition(输入)删除条件关联数组(列名 => 值)。
  • 返回值

    成功返回 true,失败返回 false。

6.10.6.ux_select

  • 功能

    由数组条件生成并执行 SELECT

  • 函数

    ux_select($connection, $table, $condition)
    
  • 参数

    表 ux_select 参数说明

    名称描述
    connection(输入)连接资源。
    table(输入)表名。
    condition(输入)查询条件关联数组(列名 => 值,可选)。
  • 返回值

    成功返回行数组,失败返回 false。

6.11.uxsql·兼容别名接口

6.11.1.ux_exec

  • 功能

    执行查询(旧版别名)

  • 注意

    ux_query 别名

  • 函数

    ux_exec($connection, $query)
    
  • 参数

    表 ux_exec 参数说明

    名称描述
    connection(输入)连接资源。
    query(输入)要执行的 SQL 语句。
  • 返回值

    等价于 ux_query:成功返回结果资源,失败返回 false。

6.11.2.ux_getlastoid

  • 功能

    获取最后插入 OID(旧版别名)

  • 注意

    ux_last_oid 别名

  • 函数

    ux_getlastoid($result)
    
  • 参数

    表 ux_getlastoid 参数说明

    名称描述
    result(输入)结果资源。
  • 返回值

    等价于 ux_last_oid:返回最后插入行的 OID。

6.11.3.ux_cmdtuples

  • 功能

    获取受影响行数(旧版别名)

  • 注意

    ux_affected_rows 别名

  • 函数

    ux_cmdtuples($result)
    
  • 参数

    表 ux_cmdtuples 参数说明

    名称描述
    result(输入)结果资源。
  • 返回值

    等价于 ux_affected_rows:返回受影响的行数(int)。

6.11.4.ux_errormessage

  • 功能

    获取最近错误(旧版别名)

  • 注意

    ux_last_error 别名

  • 函数

    ux_errormessage($connection)
    
  • 参数

    表 ux_errormessage 参数说明

    名称描述
    connection(输入)连接资源(可选)。
  • 返回值

    等价于 ux_last_error:返回最近一次错误消息字符串。

6.11.5.ux_numrows

  • 功能

    获取结果行数(旧版别名)

  • 注意

    ux_num_rows 别名

  • 函数

    ux_numrows($result)
    
  • 参数

    表 ux_numrows 参数说明

    名称描述
    result(输入)结果资源。
  • 返回值

    等价于 ux_num_rows:返回结果行数(int)。

6.11.6.ux_numfields

  • 功能

    获取结果列数(旧版别名)

  • 注意

    ux_num_fields 别名

  • 函数

    ux_numfields($result)
    
  • 参数

    表 ux_numfields 参数说明

    名称描述
    result(输入)结果资源。
  • 返回值

    等价于 ux_num_fields:返回结果列数(int)。

6.11.7.ux_fieldname

  • 功能

    获取列名(旧版别名)

  • 注意

    ux_field_name 别名

  • 函数

    ux_fieldname($result, $field)
    
  • 参数

    表 ux_fieldname 参数说明

    名称描述
    result(输入)结果资源。
    field(输入)列号。
  • 返回值

    等价于 ux_field_name:返回列名字符串。

6.11.8.ux_fieldsize

  • 功能

    获取列大小(旧版别名)

  • 注意

    ux_field_size 别名

  • 函数

    ux_fieldsize($result, $field)
    
  • 参数

    表 ux_fieldsize 参数说明

    名称描述
    result(输入)结果资源。
    field(输入)列号。
  • 返回值

    等价于 ux_field_size:返回列数据存储大小(int)。

6.11.9.ux_fieldtype

  • 功能

    获取列类型(旧版别名)

  • 注意

    ux_field_type 别名

  • 函数

    ux_fieldtype($result, $field)
    
  • 参数

    表 ux_fieldtype 参数说明

    名称描述
    result(输入)结果资源。
    field(输入)列号。
  • 返回值

    等价于 ux_field_type:返回列类型名字符串。

6.11.10.ux_fieldnum

  • 功能

    获取列序号(旧版别名)

  • 注意

    ux_field_num 别名

  • 函数

    ux_fieldnum($result, $field)
    
  • 参数

    表 ux_fieldnum 参数说明

    名称描述
    result(输入)结果资源。
    field(输入)列名。
  • 返回值

    等价于 ux_field_num:返回列序号(int)。

6.11.11.ux_fieldprtlen

  • 功能

    获取列打印长度(旧版别名)

  • 注意

    ux_field_prtlen 别名

  • 函数

    ux_fieldprtlen($result, $row, $field)
    
  • 参数

    表 ux_fieldprtlen 参数说明

    名称描述
    result(输入)结果资源。
    row(输入)行号。
    field(输入)列号或列名。
  • 返回值

    等价于 ux_field_prtlen:返回列打印长度(int)。

6.11.12.ux_fieldisnull

  • 功能

    判断列是否 NULL(旧版别名)

  • 注意

    ux_field_is_null 别名

  • 函数

    ux_fieldisnull($result, $row, $field)
    
  • 参数

    表 ux_fieldisnull 参数说明

    名称描述
    result(输入)结果资源。
    row(输入)行号。
    field(输入)列号或列名。
  • 返回值

    等价于 ux_field_is_null:值为 NULL 返回 1,否则返回 0。

6.11.13.ux_freeresult

  • 功能

    释放结果集(旧版别名)

  • 注意

    ux_free_result 别名

  • 函数

    ux_freeresult($result)
    
  • 参数

    表 ux_freeresult 参数说明

    名称描述
    result(输入)结果资源。
  • 返回值

    等价于 ux_free_result:成功返回 true。

6.11.14.ux_result

  • 功能

    取结果字段值(旧版别名)

  • 注意

    ux_fetch_result 别名

  • 函数

    ux_result($result, $row, $field)
    
  • 参数

    表 ux_result 参数说明

    名称描述
    result(输入)结果资源。
    row(输入)行号。
    field(输入)列号或列名。
  • 返回值

    等价于 ux_fetch_result:返回指定行列的字段值。

6.11.15.ux_loreadall

  • 功能

    读取整个大对象(旧版别名)

  • 注意

    ux_lo_read_all 别名

  • 函数

    ux_loreadall($lob)
    
  • 参数

    表 ux_loreadall 参数说明

    名称描述
    lob(输入)大对象资源。
  • 返回值

    等价于 ux_lo_read_all:返回整个大对象的内容字符串。

6.11.16.ux_locreate

  • 功能

    创建大对象(旧版别名)

  • 注意

    ux_lo_create 别名

  • 函数

    ux_locreate($connection, $oid)
    
  • 参数

    表 ux_locreate 参数说明

    名称描述
    connection(输入)连接资源。
    oid(输入)大对象 OID(可选)。
  • 返回值

    等价于 ux_lo_create:成功返回大对象 OID。

  • 功能

    删除大对象(旧版别名)

  • 注意

    ux_lo_unlink 别名

  • 函数

    ux_lounlink($connection, $oid)
    
  • 参数

    表 ux_lounlink 参数说明

    名称描述
    connection(输入)连接资源。
    oid(输入)大对象 OID。
  • 返回值

    等价于 ux_lo_unlink:成功返回 true。

6.11.18.ux_loopen

  • 功能

    打开大对象(旧版别名)

  • 注意

    ux_lo_open 别名

  • 函数

    ux_loopen($connection, $oid, $mode)
    
  • 参数

    表 ux_loopen 参数说明

    名称描述
    connection(输入)连接资源。
    oid(输入)大对象 OID。
    mode(输入)访问模式:"r"(只读)、"w"(只写)或 "rw"(读写)。
  • 返回值

    等价于 ux_lo_open:成功返回大对象资源。

6.11.19.ux_loclose

  • 功能

    关闭大对象(旧版别名)

  • 注意

    ux_lo_close 别名

  • 函数

    ux_loclose($lob)
    
  • 参数

    表 ux_loclose 参数说明

    名称描述
    lob(输入)大对象资源。
  • 返回值

    等价于 ux_lo_close:成功返回 true。

6.11.20.ux_loread

  • 功能

    读取大对象(旧版别名)

  • 注意

    ux_lo_read 别名

  • 函数

    ux_loread($lob, $len)
    
  • 参数

    表 ux_loread 参数说明

    名称描述
    lob(输入)大对象资源。
    len(输入)要读取的字节数。
  • 返回值

    等价于 ux_lo_read:返回读取的数据字符串。

6.11.21.ux_lowrite

  • 功能

    写入大对象(旧版别名)

  • 注意

    ux_lo_write 别名

  • 函数

    ux_lowrite($lob, $data)
    
  • 参数

    表 ux_lowrite 参数说明

    名称描述
    lob(输入)大对象资源。
    data(输入)要写入的数据。
  • 返回值

    等价于 ux_lo_write:返回写入的字节数。

6.11.22.ux_loimport

  • 功能

    导入大对象(旧版别名)

  • 注意

    ux_lo_import 别名

  • 函数

    ux_loimport($connection, $pathname, $oid)
    
  • 参数

    表 ux_loimport 参数说明

    名称描述
    connection(输入)连接资源。
    pathname(输入)要导入的文件路径。
    oid(输入)目标大对象 OID(可选)。
  • 返回值

    等价于 ux_lo_import:成功返回大对象 OID。

6.11.23.ux_loexport

  • 功能

    导出大对象(旧版别名)

  • 注意

    ux_lo_export 别名

  • 函数

    ux_loexport($connection, $oid, $pathname)
    
  • 参数

    表 ux_loexport 参数说明

    名称描述
    connection(输入)连接资源。
    oid(输入)大对象 OID。
    pathname(输入)导出文件路径。
  • 返回值

    等价于 ux_lo_export:成功返回 true。

6.11.24.ux_clientencoding

  • 功能

    获取客户端编码(旧版别名)

  • 注意

    ux_client_encoding 别名

  • 函数

    ux_clientencoding($connection)
    
  • 参数

    表 ux_clientencoding 参数说明

    名称描述
    connection(输入)连接资源(可选)。
  • 返回值

    等价于 ux_client_encoding:返回客户端编码字符串。

6.11.25.ux_setclientencoding

  • 功能

    设置客户端编码(旧版别名)

  • 注意

    ux_set_client_encoding 别名

  • 函数

    ux_setclientencoding($connection, $encoding)
    
  • 参数

    表 ux_setclientencoding 参数说明

    名称描述
    connection(输入)连接资源(可选)。
    encoding(输入)编码名,如 UTF8。
  • 返回值

    等价于 ux_set_client_encoding:成功返回 0,失败返回 -1。

6.12.pdo_uxsql·PDO 通用接口

6.12.1.PDO::__construct

  • 功能

    建立数据库连接(DSN 连接串,用户名/密码可分离传入)

  • 函数

    new PDO($dsn, $username, $password, $options)
    
  • 参数

    表 PDO::__construct 参数说明

    名称描述
    dsn(输入)DSN 连接串,如 "pgsql:host=... port=... dbname=..."。
    username(输入)用户名(可选)。
    password(输入)密码(可选)。
    options(输入)连接选项数组(可选)。
  • 返回值

    无(构造函数),连接失败抛出 PDOException。

6.12.2.PDO::prepare

  • 功能

    预处理 SQL 语句(支持原生/模拟预处理)

  • 函数

    PDO::prepare($query, $options)
    
  • 参数

    表 PDO::prepare 参数说明

    名称描述
    query(输入)要预处理的 SQL 语句。
    options(输入)驱动选项数组(可选)。
  • 返回值

    成功返回 PDOStatement 对象,失败返回 false 或抛出 PDOException。

6.12.3.PDO::exec

  • 功能

    执行 SQL 并返回受影响行数

  • 函数

    PDO::exec($query)
    
  • 参数

    表 PDO::exec 参数说明

    名称描述
    query(输入)要执行的 SQL 语句。
  • 返回值

    返回受影响的行数(int)。

6.12.4.PDO::query

  • 功能

    执行 SQL 并返回结果集

  • 函数

    PDO::query($query, $mode, $args)
    
  • 参数

    表 PDO::query 参数说明

    名称描述
    query(输入)要执行的 SQL 语句。
    mode(输入)fetch 模式(可选),如 PDO::FETCH_ASSOC。
    args(输入)fetch 模式参数(可选)。
  • 返回值

    成功返回 PDOStatement 对象,失败返回 false。

6.12.5.PDO::quote

  • 功能

    转义并引用字符串

  • 函数

    PDO::quote($string, $type)
    
  • 参数

    表 PDO::quote 参数说明

    名称描述
    string(输入)要转义的字符串。
    type(输入)参数类型(可选),如 PDO::PARAM_STR。
  • 返回值

    返回转义并加引号的字符串,失败返回 false。

6.12.6.PDO::beginTransaction

  • 功能

    开启事务

  • 函数

    PDO::beginTransaction()
    
  • 参数:无。

  • 返回值

    成功返回 true,失败抛出 PDOException。

6.12.7.PDO::commit

  • 功能

    提交事务

  • 函数

    PDO::commit()
    
  • 参数:无。

  • 返回值

    成功返回 true,失败抛出 PDOException。

6.12.8.PDO::rollBack

  • 功能

    回滚事务

  • 函数

    PDO::rollBack()
    
  • 参数:无。

  • 返回值

    成功返回 true,失败抛出 PDOException。

6.12.9.PDO::inTransaction

  • 功能

    检查是否处于事务中

  • 函数

    PDO::inTransaction()
    
  • 参数:无。

  • 返回值

    处于事务中返回 true,否则返回 false。

6.12.10.PDO::lastInsertId

  • 功能

    获取最后插入的 ID

  • 函数

    PDO::lastInsertId($name)
    
  • 参数

    表 PDO::lastInsertId 参数说明

    名称描述
    name(输入)序列名(可选)。
  • 返回值

    返回最后插入的 ID(字符串)。

6.12.11.PDO::errorCode

  • 功能

    获取最近错误的 SQLSTATE

  • 函数

    PDO::errorCode()
    
  • 参数:无。

  • 返回值

    返回 SQLSTATE 码(字符串),无错误返回 null。

6.12.12.PDO::errorInfo

  • 功能

    获取最近错误的详细信息

  • 函数

    PDO::errorInfo()
    
  • 参数:无。

  • 返回值

    返回 [SQLSTATE, 驱动错误码, 错误消息] 数组。

6.12.13.PDO::setAttribute

  • 功能

    设置连接属性(支持 PDO::ATTR_EMULATE_PREPARES 及专有属性 PDO::UXSQL_ATTR_DISABLE_PREPARES)

  • 函数

    PDO::setAttribute($attribute, $value)
    
  • 参数

    表 PDO::setAttribute 参数说明

    名称描述
    attribute(输入)连接属性,如 PDO::ATTR_EMULATE_PREPARES、PDO::UXSQL_ATTR_DISABLE_PREPARES。
    value(输入)属性值。
  • 返回值

    成功返回 true。

6.12.14.PDO::getAttribute

  • 功能

    获取连接属性(客户端/服务器版本、连接状态、服务器信息等)

  • 函数

    PDO::getAttribute($attribute)
    
  • 参数

    表 PDO::getAttribute 参数说明

    名称描述
    attribute(输入)连接属性。
  • 返回值

    返回属性值。

6.13.pdo_uxsql·PDOStatement 通用接口

6.13.1.PDOStatement::execute

  • 功能

    执行预处理语句

  • 函数

    PDOStatement::execute($params)
    
  • 参数

    表 PDOStatement::execute 参数说明

    名称描述
    params(输入)参数值数组(可选)。
  • 返回值

    成功返回 true,失败返回 false。

6.13.2.PDOStatement::bindParam

  • 功能

    绑定参数(引用方式)

  • 函数

    PDOStatement::bindParam($param, $var, $type, $maxLength, $driverOptions)
    
  • 参数

    表 PDOStatement::bindParam 参数说明

    名称描述
    param(输入)参数标识(:name 或位置号)。
    var(输入/输出)要绑定的变量(引用传递)。
    type(输入)数据类型(可选),如 PDO::PARAM_INT。
    maxLength(输入)数据长度(可选)。
    driverOptions(输入)驱动选项(可选)。
  • 返回值

    成功返回 true。

6.13.3.PDOStatement::bindValue

  • 功能

    绑定参数(值方式)

  • 函数

    PDOStatement::bindValue($param, $value, $type)
    
  • 参数

    表 PDOStatement::bindValue 参数说明

    名称描述
    param(输入)参数标识(:name 或位置号)。
    value(输入)要绑定的值。
    type(输入)数据类型(可选)。
  • 返回值

    成功返回 true。

6.13.4.PDOStatement::fetch

  • 功能

    取下一行

  • 函数

    PDOStatement::fetch($mode)
    
  • 参数

    表 PDOStatement::fetch 参数说明

    名称描述
    mode(输入)fetch 模式(可选),如 PDO::FETCH_ASSOC。
  • 返回值

    返回下一行,无更多行返回 false。

6.13.5.PDOStatement::fetchAll

  • 功能

    获取全部结果行

  • 函数

    PDOStatement::fetchAll($mode)
    
  • 参数

    表 PDOStatement::fetchAll 参数说明

    名称描述
    mode(输入)fetch 模式(可选)。
  • 返回值

    返回全部结果行数组。

6.13.6.PDOStatement::fetchColumn

  • 功能

    取下一行的单列值

  • 函数

    PDOStatement::fetchColumn($column)
    
  • 参数

    表 PDOStatement::fetchColumn 参数说明

    名称描述
    column(输入)列号(可选,默认 0)。
  • 返回值

    返回下一行的单列值,无更多行返回 false。

6.13.7.PDOStatement::fetchObject

  • 功能

    取下一行并转为对象

  • 函数

    PDOStatement::fetchObject($class, $args)
    
  • 参数

    表 PDOStatement::fetchObject 参数说明

    名称描述
    class(输入)要实例化的类名(可选)。
    args(输入)构造参数数组(可选)。
  • 返回值

    返回对象,无更多行返回 false。

6.13.8.PDOStatement::getColumnMeta

  • 功能

    获取结果列元数据

  • 函数

    PDOStatement::getColumnMeta($column)
    
  • 参数

    表 PDOStatement::getColumnMeta 参数说明

    名称描述
    column(输入)列号。
  • 返回值

    返回列元数据数组,失败返回 false。

6.13.9.PDOStatement::columnCount

  • 功能

    获取结果列数

  • 函数

    PDOStatement::columnCount()
    
  • 参数:无。

  • 返回值

    返回结果列数(int)。

6.13.10.PDOStatement::rowCount

  • 功能

    获取受影响行数

  • 函数

    PDOStatement::rowCount()
    
  • 参数:无。

  • 返回值

    返回受影响的行数(int)。

6.13.11.PDOStatement::closeCursor

  • 功能

    关闭游标并释放资源

  • 函数

    PDOStatement::closeCursor()
    
  • 参数:无。

  • 返回值

    成功返回 true。

6.13.12.PDOStatement::setFetchMode

  • 功能

    设置取行模式

  • 函数

    PDOStatement::setFetchMode($mode, $args)
    
  • 参数

    表 PDOStatement::setFetchMode 参数说明

    名称描述
    mode(输入)fetch 模式,如 PDO::FETCH_ASSOC。
    args(输入)模式参数(可选)。
  • 返回值

    成功返回 true。

6.13.13.PDOStatement::bindColumn

  • 功能

    绑定结果列到变量

  • 函数

    PDOStatement::bindColumn($column, $var, $type, $maxLength, $driverOptions)
    
  • 参数

    表 PDOStatement::bindColumn 参数说明

    名称描述
    column(输入)列号或列名。
    var(输入/输出)要绑定的变量(引用传递)。
    type(输入)数据类型(可选)。
    maxLength(输入)数据长度(可选)。
    driverOptions(输入)驱动选项(可选)。
  • 返回值

    成功返回 true。

6.13.14.PDOStatement::errorCode

  • 功能

    获取语句级错误 SQLSTATE

  • 函数

    PDOStatement::errorCode()
    
  • 参数:无。

  • 返回值

    返回 SQLSTATE 码(字符串)。

6.13.15.PDOStatement::errorInfo

  • 功能

    获取语句级错误信息

  • 函数

    PDOStatement::errorInfo()
    
  • 参数:无。

  • 返回值

    返回 [SQLSTATE, 驱动错误码, 错误消息] 数组。

6.13.16.PDOStatement::setAttribute

  • 功能

    设置语句级属性

  • 注意

    不支持

  • 函数

    PDOStatement::setAttribute($attribute, $value)
    
  • 参数

    表 PDOStatement::setAttribute 参数说明

    名称描述
    attribute(输入)语句级属性。
    value(输入)属性值。
  • 返回值

    成功返回 true。

6.13.17.PDOStatement::getAttribute

  • 功能

    获取语句级属性

  • 注意

    不支持

  • 函数

    PDOStatement::getAttribute($attribute)
    
  • 参数

    表 PDOStatement::getAttribute 参数说明

    名称描述
    attribute(输入)语句级属性。
  • 返回值

    返回属性值。

6.13.18.PDOStatement::nextRowset

  • 功能

    推进到下一结果集

  • 注意

    不支持

  • 函数

    PDOStatement::nextRowset()
    
  • 参数:无。

  • 返回值

    成功推进到下一结果集返回 true,无更多结果集返回 false。

6.14.pdo_uxsql·UXDB 专有接口

6.14.1.PDO::uxsqlLOBCreate

  • 功能

    创建大对象

  • 注意

    专有接口

  • 函数

    PDO::uxsqlLOBCreate($oid)
    
  • 参数

    表 PDO::uxsqlLOBCreate 参数说明

    名称描述
    oid(输入)大对象 OID(可选)。
  • 返回值

    成功返回大对象 OID,失败返回 false。

6.14.2.PDO::uxsqlLOBOpen

  • 功能

    打开大对象

  • 注意

    专有接口

  • 函数

    PDO::uxsqlLOBOpen($oid, $mode)
    
  • 参数

    表 PDO::uxsqlLOBOpen 参数说明

    名称描述
    oid(输入)大对象 OID。
    mode(输入)访问模式(可选):"r"(只读)、"w"(只写)或 "rw"(读写)。
  • 返回值

    成功返回大对象资源,失败返回 false。

  • 功能

    删除大对象

  • 注意

    专有接口

  • 函数

    PDO::uxsqlLOBUnlink($oid)
    
  • 参数

    表 PDO::uxsqlLOBUnlink 参数说明

    名称描述
    oid(输入)大对象 OID。
  • 返回值

    成功返回 true,失败返回 false。

6.14.4.PDO::uxsqlCopyFromArray

  • 功能

    从数组 COPY 导入表数据

  • 注意

    专有接口

  • 函数

    PDO::uxsqlCopyFromArray($table, $rows, $delimiter, $nullAs)
    
  • 参数

    表 PDO::uxsqlCopyFromArray 参数说明

    名称描述
    table(输入)目标表名。
    rows(输入)数据行数组。
    delimiter(输入)字段分隔符(可选)。
    nullAs(输入)NULL 值的文本表示(可选)。
  • 返回值

    成功返回 true,失败返回 false。

6.14.5.PDO::uxsqlCopyFromFile

  • 功能

    从文件 COPY 导入表数据

  • 注意

    专有接口

  • 函数

    PDO::uxsqlCopyFromFile($table, $file, $delimiter, $nullAs)
    
  • 参数

    表 PDO::uxsqlCopyFromFile 参数说明

    名称描述
    table(输入)目标表名。
    file(输入)数据文件路径。
    delimiter(输入)字段分隔符(可选)。
    nullAs(输入)NULL 值的文本表示(可选)。
  • 返回值

    成功返回 true,失败返回 false。

6.14.6.PDO::uxsqlCopyToArray

  • 功能

    COPY 导出表数据到数组

  • 注意

    专有接口

  • 函数

    PDO::uxsqlCopyToArray($table, $delimiter, $nullAs)
    
  • 参数

    表 PDO::uxsqlCopyToArray 参数说明

    名称描述
    table(输入)要导出的表名。
    delimiter(输入)字段分隔符(可选)。
    nullAs(输入)NULL 值的文本表示(可选)。
  • 返回值

    返回数据行数组,失败返回 false。

6.14.7.PDO::uxsqlCopyToFile

  • 功能

    COPY 导出表数据到文件

  • 注意

    专有接口

  • 函数

    PDO::uxsqlCopyToFile($table, $file, $delimiter, $nullAs)
    
  • 参数

    表 PDO::uxsqlCopyToFile 参数说明

    名称描述
    table(输入)要导出的表名。
    file(输入)导出文件路径。
    delimiter(输入)字段分隔符(可选)。
    nullAs(输入)NULL 值的文本表示(可选)。
  • 返回值

    成功返回 true,失败返回 false。

6.14.8.PDO::uxsqlGetNotify

  • 功能

    获取 LISTEN/NOTIFY 异步通知

  • 注意

    专有接口

  • 函数

    PDO::uxsqlGetNotify()
    
  • 参数:无。

  • 返回值

    返回含 channel、payload、pid 的通知数组,无通知返回 false。

6.14.9.PDO::uxsqlGetPid

  • 功能

    获取后端进程 PID

  • 注意

    专有接口

  • 函数

    PDO::uxsqlGetPid()
    
  • 参数:无。

  • 返回值

    返回后端进程 PID(int)。