iT邦幫忙

0

網頁從appserv搬移到xampp且升級php後,要將表單寫入sql時跳出could not find driver

如題,
網頁在搬移後,在網頁資料要寫入ms sql資料庫時,
都會跳出127.0.0.1 says could not find driver,
依照網路上搜尋的方法將ODBC Driver放入ext裡面後
在php中將extension 都去掉分號(如圖)
https://ithelp.ithome.com.tw/upload/images/20200810/20128964oEEtsj1ew0.png
會跳出SQLSTATE08001 ODBC DRIVER 17 FOR SQL SERVER SQL SERVER網路介面: 連接字串無效[87]
請問是需要創建MSSQL才會運作嗎

php選擇sqlserver作為資料庫.很不好搞喔
jkes6203 iT邦新手 5 級 ‧ 2020-08-12 18:42:36 檢舉
因為客戶端只有sql server ,所以沒的選, 但是他原本跟mssql連線的程式都寫好了,我只要維護而已,所以找出問題解決應該就好了

1 個回答

0
jeles51
iT邦研究生 3 級 ‧ 2020-08-11 13:50:05
最佳解答

APPSERV -> XAMPP 之後,
PHP 版本有改變嗎?

請參考這裡 https://docs.microsoft.com/zh-tw/sql/connect/php/system-requirements-for-the-php-sql-driver?view=sql-server-ver15
下載對應版本的 DRIVER試試.

載點
下載後會解到自訂資料夾,再到 php.ini 的 extension 設定即可.

我自己 xampp php 7 連 MSSQL 方式:
安裝 DRIVER方式可參考 這裡

$conn_array = array (
    "UID" => "username",
    "PWD" => "password",
    "Database" => "DBname",
	"CharacterSet"=>"UTF-8",
	"ReturnDatesAsStrings" => 1);
$conn = sqlsrv_connect('10.10.10.10\SQLEXPRESS', $conn_array)or die ("連接SQL Server時發生錯誤");
看更多先前的回應...收起先前的回應...
jkes6203 iT邦新手 5 級 ‧ 2020-08-12 18:05:39 檢舉

版本有改變,從5.6.2升級到7.4.8
之前就是依照上面的步驟將dll放入後開啟,開啟完就跳出下面畫面
https://ithelp.ithome.com.tw/upload/images/20200812/20128964cmTLN3Ganm.png

jkes6203 iT邦新手 5 級 ‧ 2020-08-12 18:07:59 檢舉

也有使用

try {
    $database = 'odbc:yourDBName';
    $user = 'db2inst1';
    $password = 'hehenigedada';
    $pdoConnection = new PDO($database, $user, $password);

    if ($pdoConnection) {

        echo "succeed!";

    } else {
        echo "Connection failed.";
    }


    $sql = "select * from yourTableName";
    $stmt = $pdoConnection->query($sql);
    if (is_array($stmt)) {
        foreach ($stmt as $row) {
            print_r($row);
        }
    }

} catch (Exception $e) {
    print 'Could not connect to DB: ' . $e->getMessage();
}

php來測試是否有連線

每次都會回傳 Could not connect to DB: SQLSTATE[IM002] SQLConnect: 0 [Microsoft][ODBC �X�ʵ{���޲z��] �䤣���ƨӷ��W�٥B�����w�w�]���X�ʵ{��

jeles51 iT邦研究生 3 級 ‧ 2020-08-13 10:00:18 檢舉

有更新回答內容, 再試試看囉~

jkes6203 iT邦新手 5 級 ‧ 2020-08-14 14:43:33 檢舉

原來08001是mssql設定的帳號無法登入 已經解決了 感謝大大

我要發表回答

立即登入回答