Xunsearch PHP-SDK v1.4.9 API 参考文档

# XSDatabaseMySQL

包 | XS.util.db
继承关系 | class XSDatabaseMySQL » XSDatabase
版本 | 1.0.0
源代码 | sdk/php/util/XSDataSource.class.php

使用传统 MySQL 扩展

## Public 方法

隐去继承来的方法

名称 | 描述 | 定义于
--- | --- | ---
close() | 关闭数据库连接 | XSDatabaseMySQL
connect() | 连接数据库 | XSDatabaseMySQL
query() | 执行 SQL 语句查询 | XSDatabaseMySQL
query1() | 查询数据库首行 | XSDatabase
setUtf8() | 将输出字符集设置为 UTF-8 | XSDatabaseMySQL

## 方法明细

close() 方法

public void close()

源码: sdk/php/util/XSDataSource.class.php#L498 (显示)
`public function close()
{
if ($this->link) {
mysql_close($this->link);
$this->link = null;
}
}`

关闭数据库连接

connect() 方法

public void connect(array $param)
$param | array | 连接参数, 包含: user,pass,host,table,dbname ...

源码: sdk/php/util/XSDataSource.class.php#L479 (显示)
`public function connect($param)
{
$host = isset($param['host']) ? $param['host'] : ini_get('mysql.default_host');
$host .= (isset($param['port']) && $param['port'] != 3306) ? ':' . $param['port'] : '';
$user = isset($param['user']) ? $param['user'] : ini_get('mysql.default_user');
$pass = isset($param['pass']) ? $param['pass'] : ini_get('mysql.default_pw');
if (($this->link = mysql_connect($host, $user, $pass)) === false) {
throw new XSException("Can not connect to mysql server: '$user@$host'");
}
if (!mysql_select_db($param['dbname'], $this->link)) {
$this->close();
throw new XSException("Can not switch to database name: '{$param['dbname']}'");
}
$this->setUtf8();
}`

连接数据库

query() 方法

public mixed query(string $sql)
$sql | string | 要执行的 SQL 语句
{return} | mixed |

源码: sdk/php/util/XSDataSource.class.php#L511 (显示)
`public function query($sql)
{
//echo "[DEBUG] SQL: $sql\n";
$res = mysql_query($sql, $this->link);
if ($res === false) {
throw new XSException('MySQL ERROR(#' . mysql_errno($this->link) . '): ' . mysql_error($this->link));
}
if (!is_resource($res)) {
$ret = $res;
} else {
$ret = array();
while ($tmp = mysql_fetch_assoc($res)) {
$ret[] = $tmp;
}
mysql_free_result($res);
}
return $ret;
}`

执行 SQL 语句查询

setUtf8() 方法

public bool setUtf8()
{return} | bool | MySQL 自 4.1.0 起支持字符集

源码: sdk/php/util/XSDataSource.class.php#L534 (显示)
`public function setUtf8()
{
if (version_compare(mysql_get_server_info($this->link), '4.1.0', '>=')) {
return @mysql_query("SET NAMES utf8", $this->link);
}
return false;
}`

将输出字符集设置为 UTF-8

Copyright © 2008-2011 by 杭州云圣网络科技有限公司
All Rights Reserved.