Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penyelesaian kepada ralat Fatal PHP: Panggilan ke fungsi yang tidak ditentukan mssql_connect()

Penyelesaian kepada ralat Fatal PHP: Panggilan ke fungsi yang tidak ditentukan mssql_connect()

PHPz
PHPzasal
2023-06-23 10:06:101382semak imbas

Penyelesaian kepada PHP Fatal error: Call to undefined function mssql_connect()

Jika anda seorang pembangun PHP, mungkin anda pernah mengalami ralat ini. Ia biasanya berlaku apabila anda cuba menyambung ke pangkalan data Microsoft SQL Server. Dalam artikel ini, kami akan meneroka punca dan penyelesaian kepada masalah ini.

Sebab

Sebelum PHP versi 7.0, pemacu pangkalan data yang digunakan oleh PHP ialah pemacu Microsoft SQL Server (mssql). Walau bagaimanapun, sejak PHP versi 7.0, pemacu ini telah dialih keluar. PHP kini menggunakan pemacu rasmi Microsoft (sqlsrv).

Jika versi PHP anda ialah 7.0 atau lebih tinggi dan anda masih menggunakan fungsi mssql_connect() dalam kod anda, anda akan menghadapi ralat ini.

Penyelesaian

Terdapat dua penyelesaian untuk menyelesaikan masalah ini.

  1. Naik taraf kepada PHP 7.0 atau lebih tinggi dan gunakan pemacu sqlsrv

Jika anda menggunakan pemacu mssql dalam versi sebelum PHP 7.0, anda harus meningkatkan kepada PHP 7.0 atau lebih tinggi, dan gunakan pemacu rasmi Microsoft (sqlsrv). Anda boleh mengikuti langkah di bawah untuk memasang dan mendayakan pemacu sqlsrv.

Langkah 1: Muat turun pemacu Microsoft SQL Server

Anda boleh memuat turun versi terkini pemacu Microsoft SQL Server dari tapak web rasmi Microsoft.

Langkah 2: Dayakan sambungan SQLSRV

Selepas muat turun selesai, anda perlu mendayakan sambungan SQLSRV dalam fail konfigurasi PHP. Buka fail php.ini dan tambah kod berikut dalam bahagian sambungan dinamik:

extension=php_pdo_sqlsrv_7_ts.dll
extension=php_sqlsrv_7_ts.dll

Di sini, kami menggunakan PHP 7. x versi fail sambungan. Jika anda menggunakan versi PHP yang lain, anda perlu memilih fail sambungan yang sepadan mengikut versi PHP anda.

Langkah 3: Mulakan semula pelayan web

Selepas melengkapkan semua konfigurasi, anda perlu memulakan semula pelayan web anda untuk memastikan semua perubahan berkuat kuasa.

Kini, anda boleh menggunakan fungsi sqlsrv_connect() untuk menyambung ke pangkalan data Microsoft SQL Server anda.

  1. Teruskan menggunakan pemacu mssql dalam PHP 7.0 atau lebih tinggi

Jika anda tidak boleh menaik taraf kepada PHP 7.0 atau lebih tinggi dan mesti terus menggunakan pemacu mssql, anda boleh mengikuti langkah di bawah untuk menyelesaikan isu tersebut.

Langkah 1: Muat turun pemacu Microsoft SQL Server

Anda perlu memuat turun pemacu Microsoft SQL Server, tetapi kali ini anda perlu memuat turun pemacu versi lama (versi 3.0).

Langkah 2: Dayakan pemacu MSDASQL

MSDASQL ialah pemacu ODBC yang boleh memetakan sumber data OLE DB kepada sumber data ODBC. Anda perlu mendayakan pemacu MSDASQL dan mengkonfigurasi sumber data SQL Server anda sebagai pembekal OLE DB.

Langkah 3: Konfigurasikan fail php.ini

Buka fail php.ini dan tambah kod berikut dalam bahagian sambungan dinamik:

extension=php_pdo_odbc.dll
extension =php_odbc.dll

Langkah 4: Mulakan semula pelayan web

Selepas melengkapkan semua konfigurasi, anda perlu memulakan semula pelayan web anda untuk memastikan semua perubahan berkuat kuasa.

Kini, anda boleh menggunakan fungsi mssql_connect() untuk menyambung ke pangkalan data Microsoft SQL Server anda.

Kesimpulan

Tidak kira kaedah yang anda pilih, anda boleh menyelesaikan ralat ini. Jika anda boleh menaik taraf kepada PHP 7.0 atau lebih tinggi dan menggunakan pemacu Microsoft SQL Server rasmi (sqlsrv), itu adalah pilihan terbaik. Tetapi jika anda tidak boleh menaik taraf versi, anda juga boleh menyambung menggunakan versi lama pemacu Microsoft SQL Server (mssql). Walau apa pun, anda perlu mengikuti langkah-langkah di atas dengan teliti dan sabar untuk menyelesaikan masalah ini.

Atas ialah kandungan terperinci Penyelesaian kepada ralat Fatal PHP: Panggilan ke fungsi yang tidak ditentukan mssql_connect(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn