| 包 | XS.util.db | 
|---|---|
| 继承关系 | abstract class XSDatabasePDO » XSDatabase | 
| 子类 | XSDatabasePDO_MySQL, XSDatabasePDO_PgSQL, XSDatabasePDO_SQLite | 
| 版本 | 1.0.0 | 
| 源代码 | sdk/php/util/XSDataSource.class.php | 
| 名称 | 描述 | 定义于 | 
|---|---|---|
| close() | 关闭数据库 | XSDatabasePDO | 
| connect() | 连接数据库 | XSDatabasePDO | 
| query() | 执行 SQL 语句 | XSDatabasePDO | 
| query1() | 查询数据库首行 | XSDatabase | 
| setUtf8() | 设置数据库字符集为 UTF-8 | XSDatabase | 
| 
public void close() | 
关闭数据库
| 
public void connect(array $param) | ||
| $param | array | 连接参数, 包含: user, pass ... | 
public function connect($param)
{
    $dsn = $this->makeDsn($param);
    $user = isset($param['user']) ? $param['user'] : 'root';
    $pass = isset($param['pass']) ? $param['pass'] : '';
    try {
        $this->obj = new PDO($dsn, $user, $pass);
    } catch (PDOException $e) {
        throw new XSException($e->getMessage());
    }
}
连接数据库 具体的每个类必须实现 makeDsn 来将参数转换为 dsn
| 
abstract protected void makeDsn(array $param) | ||
| $param | array | |
提取参数内容生成 PDO 连接专用的 DSN
| 
public mixed query(string $sql) | ||
| $sql | string | 要执行的 SQL 语句 | 
| {return} | mixed | |
public function query($sql)
{
    //echo "[DEBUG] SQL: $sql\n";
    $res = $this->obj->query($sql);
    if ($res === false) {
        $info = $this->obj->errorInfo();
        throw new XSException('SQLSTATE[' . $info[0] . '] [' . $info[1] . '] ' . $info[2]);
    }
    $ret = $res->fetchAll(PDO::FETCH_ASSOC);
    return $ret;
}
执行 SQL 语句
| 包 | XS.util.db | 
|---|---|
| 继承关系 | abstract class XSDatabasePDO » XSDatabase | 
| 子类 | XSDatabasePDO_MySQL, XSDatabasePDO_PgSQL, XSDatabasePDO_SQLite | 
| 版本 | 1.0.0 | 
| 源代码 | sdk/php/util/XSDataSource.class.php | 
| 名称 | 描述 | 定义于 | 
|---|---|---|
| close() | 关闭数据库 | XSDatabasePDO | 
| connect() | 连接数据库 | XSDatabasePDO | 
| query() | 执行 SQL 语句 | XSDatabasePDO | 
| query1() | 查询数据库首行 | XSDatabase | 
| setUtf8() | 设置数据库字符集为 UTF-8 | XSDatabase | 
| 
public void close() | 
关闭数据库
| 
public void connect(array $param) | ||
| $param | array | 连接参数, 包含: user, pass ... | 
public function connect($param)
{
    $dsn = $this->makeDsn($param);
    $user = isset($param['user']) ? $param['user'] : 'root';
    $pass = isset($param['pass']) ? $param['pass'] : '';
    try {
        $this->obj = new PDO($dsn, $user, $pass);
    } catch (PDOException $e) {
        throw new XSException($e->getMessage());
    }
}
连接数据库 具体的每个类必须实现 makeDsn 来将参数转换为 dsn
| 
abstract protected void makeDsn(array $param) | ||
| $param | array | |
提取参数内容生成 PDO 连接专用的 DSN
| 
public mixed query(string $sql) | ||
| $sql | string | 要执行的 SQL 语句 | 
| {return} | mixed | |
public function query($sql)
{
    //echo "[DEBUG] SQL: $sql\n";
    $res = $this->obj->query($sql);
    if ($res === false) {
        $info = $this->obj->errorInfo();
        throw new XSException('SQLSTATE[' . $info[0] . '] [' . $info[1] . '] ' . $info[2]);
    }
    $ret = $res->fetchAll(PDO::FETCH_ASSOC);
    return $ret;
}
执行 SQL 语句
留下一条评论吧!
请到论坛 登录 后刷新本页面!