php操作MS SQL的类(未完)

<?php

/**
 * Created by PhpStorm.
 * User: Huming
 * Date: 2017-04-15
 * Time: 22:41
 * 用于连接SQL Server 2008R2数据库库,本机测试通过
 */
class MSSqlServerHelper
{
    public $serverName = "localhost";
    public $UID = "sa";
    public $PWD = "A";
    public $characterSet = "utf-8";
    public $database = "yw";
    public $conn;


    /**
     * 生成数据库连接
     */
    public function __construct()
    {
        //必须指定编码,MS sqlserver出来是gbk编码的,不指定会出现乱码
        //ReturnDatesAsStrings 指定返回时间为值,否则返回为object
        $connectionInfo = array("Database" => $this->database, "UID" => $this->UID, "PWD" => $this->PWD, "CharacterSet" => $this->characterSet, 'ReturnDatesAsStrings' => true);
        $this->conn = sqlsrv_connect($this->serverName, $connectionInfo);
        if (!$this->conn) {
            die('数据库连接失败' . sqlsrv_errors());
        }
    }


    /**
     * @执行查询,将查询到的记录以数组形式返回,并释放资源
     */

    function execute_dql_array($sql)
    {
        $res = sqlsrv_query($this->conn, $sql);
        if (!$res) {
            die('操作失败' . sqlsrv_errors());
        }
        $arr = array();
        //SQLSRV_FETCH_NUMERIC 为返回索引值的数组,SQLSRV_FETCH_ASSOC 为返回键值对的数组。
        //不带参数则同时返回两种都有的数组
        while ($row = sqlsrv_fetch_array($res, SQLSRV_FETCH_ASSOC)) {
            $arr[] = $row;
        }
        sqlsrv_free_stmt($res);
        return $arr;
    }

    /**
     * 将查询到的数据以json形式返回
     */
    function execute_dql_json($sql)
    {
        $arr = $this->execute_dql_array($sql);
        //需要指定json返回为utf8编码
        return json_encode($arr, JSON_UNESCAPED_UNICODE);
    }


    /**
     * 返回记录数
     */
    function execute_dql_rowsCount($sql)
    {
        $res = sqlsrv_query($this->conn, $sql);
        if (!$res) {
            die('操作失败' . sqlsrv_errors());
        }
        $rowsCount = 0;
        //SQLSRV_FETCH_NUMERIC 为返回索引值的数组,SQLSRV_FETCH_ASSOC 为返回键值对的数组。
        //不带参数则同时返回两种都有的数组
        while ($row = sqlsrv_fetch_array($res, SQLSRV_FETCH_NUMERIC)) {
            $rowsCount = $row[0];
        }
        sqlsrv_free_stmt($res);
        return $rowsCount;
    }



}

 

posted @ 2017-04-17 15:52  swocn  阅读(271)  评论(0编辑  收藏  举报