SQL Relay PHP API的封装

这是针对sqlrelay.class.php的说明。

    sqlrelay.class.php是对SQL Relay PHP API的封装,使其接近PHP PDO,方便本人日后使用。[PHP Pear DB提供对SQL Relay的支持,但是本人不习惯用这东西。]

    sqlrelay.class.php请点击下载:查看或下载

 

sqlrelay->__construct(string $host, int $port, string $user, string $password)

    创建一个SQL Relay连接,各个参数意义都很明确,不需要细说。

    在内部执行的是“sqlrcon_alloc($host, $port, "", $user, $password, 0, 1)”。

    另外sqlrcon_autoCommitOn、sqlrcur_getColumnInfo、sqlrcur_setResultSetBufferSize($cur,0)都将执行,以获得统一的环境。

 

sqlrelay_statement sqlrelay->query(string $query)

    执行查询。这个方法只执行“SELECT”开头的查询语句,并返回一个sqlrelay_statement对象。

 

int sqlrelay->exec(string $query);

    执行查询。这个方法只执行除“SELECT”开头以外的查询语句(如UPDATE、DELETE、INSERT),并返回受影响的条数。如果使用的数据库不支持,则返回-1。

 

sqlrelay_prepare sqlrelay->prepare(string $query)

    准备执行一条语句。要使用问号参数,命名参数好似有问题。比如“UPDATE product SET name = ? WHERE id = ?”。返回一个sqlrelay_prepare对象。这里和PDO不一样。

 

bool sqlrelay->beginTransaction(void)

    开启事务,其实就是关闭自动提交。返回true为成功,返回false为失败。

 

bool sqlrelay->commit(void)

    提交事务。返回true为成功,返回false为失败。

 

bool sqlrelay->rollback(void)

    会滚。取消自beginTransaction以来所有的改变。返回true为成功,返回false为失败。

 

string sqlrelay->errorInfo(void)

    返回错误信息。如果自身有可用的错误信息则首先显示自己的错误信息,否则尝试显示sqlrcur_errorMessage()的错误信息。

 

mixed sqlrelay->__call()

    提供直接执行SQL Relay PHP API所提供的函数的入口。只需要调用类似sqlrelay->sqlrcon_clientVersion()就可以了,返回就是sqlrcon_clientVersion的返回值。

 

mixed sqlrelay_prepare->execute(array $input_parameters)

    执行准备好的查询。通过数组将替代的值传递给方法。例如$sp->execute(array('name'=>'abcd', 'id'=>4))。如果查询语句是“SELECT”开头,则返回一个sqlrelay_statement对象(行为和sqlrelay-& gt;query()一致),否则返回受影响的条数(行为和sqlrelay->exec(一致))。这里和PDO的execute()完全不一 样,需要注意。

 

bool sqlrelay_prepare->bindParam(string $par, mixed $var)

    单独绑定某个参数。例如:$sp->bindParam('name','abcd'); $sp->bindParam('id',4);。此函数调用永远返回ture,所以使用 sqlrelay_prepare->errorInfo()来检查错误是有一定必要的。

 

string sqlrelay_prepare->errorInfo(void)

    返回错误信息。如果自身有可用的错误信息则首先显示自己的错误信息,否则尝试显示sqlrcur_errorMessage()的错误信息。

 

int sqlrelay_statement->rowCount(void)

    返回结果集中的总行数

 

int sqlrelay_statement->columnCount(void)

    返回结果集中的总列数

 

mixed sqlrelay_statement->fetch(int $fetch_style)

    返回结果集的下一行,到达末尾的时候返回false。fetch_style可以使用两种设置:SQLR_FETCH_ASSOC获取列名关联数组;SQLR_FETCH_NUM获取索引数组。目前只提供这两种,SQLR_FETCH_ASSOC为默认。

 

array sqlrelay_fetchAll(int $fetch_style)

    返回结果集的所有行。其他与fetch()一样。

 

string sqlrelay_statement->fetchColumn(int $column_number)

    返回结果集中下一行某个列的值。

 

bool sqlrelay_statement->fetchRe(int $count)

    这是我自己加的一个方法。重置在结果集中的指针。$count为指针位置,默认为0。成功返回true,否则返回false。

 

string sqlrelay_statement->errorInfo(void)

    返回错误信息。如果自身有可用的错误信息则首先显示自己的错误信息,否则尝试显示sqlrcur_errorMessage()的错误信息。

 

posted on 2012-02-10 16:08  kudosharry  阅读(489)  评论(0编辑  收藏  举报

导航