[Xunsearch PHP-SDK](http://www.xunsearch.com) v1.4.8 API 參考文檔
# XSDatabaseMySQL
[All Packages](#)| [方法(函數)](#)
| 包 | [XS.util.db](#) |
|-----|-----|
| 繼承關系 | class XSDatabaseMySQL ?[XSDatabase](#) |
| 版本 | 1.0.0 |
| 源代碼 | [sdk/php/util/XSDataSource.class.php](https://github.com/hightman/xunsearch/blob/master/sdk/php/util/XSDataSource.class.php) |
使用傳統 MySQL 擴展
### Public 方法
[隱去繼承來的方法](#)
| 名稱 | 描述 | 定義于 |
|-----|-----|-----|
| [close()](#) | 關閉數據庫連接 | XSDatabaseMySQL |
| [connect()](#) | 連接數據庫 | XSDatabaseMySQL |
| [query()](#) | 執行 SQL 語句查詢 | XSDatabaseMySQL |
| [query1()](#) | 查詢數據庫首行 | [XSDatabase](#) |
| [setUtf8()](#) | 將輸出字符集設置為 UTF-8 | XSDatabaseMySQL |
### 方法明細
close()方法
<table class="summaryTable"><tr><td colspan="3"><div class="signature2">public void <b>close</b>()</div></td></tr></table>
**源碼:**[sdk/php/util/XSDataSource.class.php#L498](https://github.com/hightman/xunsearch/blob/master/sdk/php/util/XSDataSource.class.php#L498) (**[顯示](#)**)
`public?function?close()
{
????if?($this->link)?{
????????mysql_close($this->link);
????????$this->link?=?null;
????}
}`
關閉數據庫連接
connect()方法
<table class="summaryTable"><tr><td colspan="3"><div class="signature2">public void <b>connect</b>(array $param)</div></td></tr><tr><td class="paramNameCol">$param</td> <td class="paramTypeCol">array</td> <td class="paramDescCol">連接參數, 包含: user,pass,host,table,dbname ...</td></tr></table>
**源碼:**[sdk/php/util/XSDataSource.class.php#L479](https://github.com/hightman/xunsearch/blob/master/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()方法
<table class="summaryTable"><tr><td colspan="3"><div class="signature2">public mixed <b>query</b>(string $sql)</div></td></tr><tr><td class="paramNameCol">$sql</td> <td class="paramTypeCol">string</td> <td class="paramDescCol">要執行的 SQL 語句</td></tr><tr><td class="paramNameCol">{return}</td> <td class="paramTypeCol">mixed</td> <td class="paramDescCol"></td></tr></table>
**源碼:**[sdk/php/util/XSDataSource.class.php#L511](https://github.com/hightman/xunsearch/blob/master/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()方法
<table class="summaryTable"><tr><td colspan="3"><div class="signature2">public bool <b>setUtf8</b>()</div></td></tr><tr><td class="paramNameCol">{return}</td> <td class="paramTypeCol">bool</td> <td class="paramDescCol">MySQL 自 4.1.0 起支持字符集</td></tr></table>
**源碼:**[sdk/php/util/XSDataSource.class.php#L534](https://github.com/hightman/xunsearch/blob/master/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 [杭州云圣網絡科技有限公司](http://www.xunsearch.com)
All Rights Reserved.
- 權威指南
- 新手上路
- 最新主要變動
- 概述
- 關于 Xunsearch PHP-SDK
- 安裝、升級
- 體驗 demo 項目
- 開發規范
- 開發流程
- 了解基礎對象
- 基礎對象概述
- XS 項目
- XSException 異常
- XSDocument 文檔
- XSIndex 索引管理
- XSSearch 搜索
- XSTokenizer 分詞接口
- 編寫項目配置文件
- 項目配置詳解
- 自定義分詞器
- 編寫第一個配置文件
- 管理索引
- 索引概述
- 添加文檔
- 更新、修改文檔
- 刪除文檔
- 清空索引
- 平滑重建索引
- 使用索引緩沖區
- 自定義SCWS詞庫
- 使用搜索
- 搜索概述
- 構建搜索語句
- 獲取搜索匹配結果
- 獲取搜索匹配數量
- 獲取熱門搜索詞
- 獲取相關搜索詞
- 搜索建議和糾錯
- 按字段值分面搜索
- 使用輔助工具
- RequiredCheck 運行檢測
- Indexer 索引管理器
- Quest 搜索測試工具
- SearchSkel 生成搜索代碼
- IniWizzard 配置文件向導
- Logger 搜索日志管理
- 專題
- 同義詞搜索功能
- 在SDK中使用SCWS分詞
- API 指南
- XS
- XS
- XSCommand
- XSComponent
- XSDocument
- XSErrorException
- XSException
- XSFieldMeta
- XSFieldScheme
- XSIndex
- XSSearch
- XSServer
- XS.tokenizer
- XSTokenizer
- XSTokenizerFull
- XSTokenizerNone
- XSTokenizerScws
- XSTokenizerSplit
- XSTokenizerXlen
- XSTokenizerXstep
- XS.util
- XSCsvDataSource
- XSDataFilter
- XSDatabaseDataSource
- XSDebugFilter
- XSJsonDataSource
- XSUtil
- XS.util.db
- XSDatabase
- XSDatabaseMySQL
- XSDatabaseMySQLI
- XSDatabasePDO
- XSDatabasePDO_MySQL
- XSDatabasePDO_PgSQL
- XSDatabasePDO_SQLite
- XSDatabasePgSQL
- XSDatabaseSQLite
- XSDatabaseSQLite3
- XS.utilf
- XSDataSource
- 其它文檔
- 關于 xunsearch
- 特色和優勢
- Xunsearch 架構簡圖
- 下載 Xunsearch
- 商業服務與支持
- XunSearch 授權許可證