簡體   English   中英

PHP DBlib PDO問題

[英]PHP DBlib PDO Issue

我試圖通過PHP連接到MSSQL服務器,但我的pdo連接給了我一個困難的時間和錯誤,我真的不明白。 我下面粘貼的代碼在一周前工作得很好,突然間它就停止了,沒有任何人改變任何東西。 我仍然可以連接到服務器並直接從命令行運行查詢,但我在php中沒有相同的運氣。 有人看到我遺失的東西嗎? 我已經花了太多時間在這上面,似乎我在圈子里跑。

首先,這是我從PDOException獲得的錯誤

SQLSTATE[] (null) (severity 0)

我的Mssql的一部分()

 private function __construct() {
        try{
           $this->_pdo = new PDO('dblib:host=' . Config::get('prod/host') . ':'. Config::get('prod/port') .';dbname=' . Config::get('prod/db'),Config::get('prod/username'), Config::get('prod/password'));
        }catch(PDOException $e){
            die($e->getMessage());
        }
    }

    public static function getInstance(){
        // Already an instance of this? Return, if not, create.
        if (!isset(self::$instance)) {
            self::$instance = new Mssql();
        }
        return self::$instance;
    } //...This function is working and directs to __construct()

我怎么稱呼它

/*Some random php file*/
function getClients(){
    $conn = Mssql::getInstance();
//.....

還有我的init.php

//...
prod' => array(
        'host'      => 'xxxxxxx',
        'port'      => '1433',
        'username'  => 'xxxxxxx',
        'password'  => 'xxxxxx',
        'db'        => 'xxxxxxx'
    ),
//.....

我們從使用dblib更改為odbc,我的類中的代碼更改為:

 private function __construct() {
        putenv('ODBCSYSINI=/etc');
        putenv('ODBCINI=/etc/odbc.ini');
        $username = "xxxx";
        $password = "xxxx";
        try {
            $this->_pdo = new PDO("odbc:production","$username","$password");
        } catch (PDOException $exception) {                
            die($exception->getMessage());
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM