苗条框架2.6.3不支持破折号

时间:2018-10-30 05:51:31

标签: php sql-server slim

我正在使用PHP苗条框架2.6.3版连接到MsSql服务器版本16,并且我有一个计划表,其中包含以下详细信息。

CREATE TABLE Plans (
  Id            INT IDENTITY(1,1),
  PlanName      VARCHAR(100)
)

INSERT INTO Plans (PlanName) VALUES ('Plan 1');
INSERT INTO Plans (PlanName) VALUES ('Plan – 2');

下面是我用来连接到SQL Server的代码。

function connect()
    { 
        //Including the constants.php file to get the database constants
        include_once dirname(__FILE__) . '/Constants.php';
        try { 
             //DB type is 'sqlsrv'
             $this->dsn = DB_TYPE.':Server='.DB_HOST.';Database='.DB_NAME;
             $this->con = new PDO($this->dsn, DB_USERNAME, DB_PASSWORD);

                //finally returning the connection link
                return $this->con;
        } catch (PDOException $e) {
            // Close the database handler and trigger an error
            self::Close();
            $response["error"] = true;
            $response["message"] = "Exception: ".$e;
            //echo json_encode($response);//die;
        }
    }

当我尝试获取所有计划时,我没有任何数据,但是当我尝试获取第一个计划时,我没有出现任何错误。

同样,当我用空白值替换en dash时,我也获得了所有计划数据。有没有一种方法可以获取所有计划,而无需更新计划名称,也不需要更新苗条的框架版本?

注意:-我也无法更新计划名称,因为它们也被其他其他api(节点,.net)占用。另外,我无法更改苗条框架的版本,因为其他团队的网站托管在同一服务器上,用于同一版本的PHP。

获取所有计划的代码。

public function getAllPlans() {

        $this->arrReturn['error'] = false;

        $query = "exec [master].[GetAllPlans]";

        $stmt = $this->con->prepare($query);
        $stmt->execute();
        $this->result = $stmt->fetchAll(PDO::FETCH_ASSOC);

        if (empty($this->result)) {
            $this->arrReturn['message'] = 'No data found!';
            $this->arrReturn['data'] = [];
        } else {
            $this->arrReturn['message'] = 'Found!';
            $this->arrReturn['data'] = $this->result;
        }

        return $this->arrReturn;
    }

我没有得到任何结果,也没有任何错误。

0 个答案:

没有答案