PHP Fatal error: Call to undefined function mssql_connect()
Solution 1
I have just tried to install that extension on my dev server.
First, make sure that the extension is correctly enabled. Your phpinfo()
output doesn't seem complete.
If it is indeed installed properly, your phpinfo()
should have a section that looks like this:
If you do not get that section in your phpinfo()
. Make sure that you are using the right version. There are both non-thread-safe and thread-safe versions of the extension.
Finally, check your extension_dir
setting. By default it's this: extension_dir = "ext"
, for most of the time it works fine, but if it doesn't try: extension_dir = "C:\PHP\ext"
.
===========================================================================
EDIT given new info:
You are using the wrong function. mssql_connect()
is part of the Mssql extension. You are using microsoft's extension, so use sqlsrv_connect()
, for the API for the microsoft driver, look at SQLSRV_Help.chm
which should be extracted to your ext
directory when you extracted the extension.
Solution 2
php.ini probably needs to read:
extension=ext\php_sqlsrv_53_nts.dll
Or move the file to same directory as the php executable. This is what I did to my php5 install this week to get odbc_pdo working. :P
Additionally, that doesn't look like proper phpinfo() output. If you make a file with contents<? phpinfo(); ?>
and visit that page, the HTML output should show several sections, including one with loaded modules. (Edited to add: like shown in the screenshot of the above accepted answer)
Greg
Updated on July 09, 2022Comments
-
Greg almost 2 years
I've never used php before and am trying to connect to a SQL Server 2008 instance on a Windows machine running IIS7 and PHP5.3.
I have downloaded and installed
SQLSRV30.EXE
from here inC:\Program Files (x86)\PHP\ext
added this toC:\Program Files (x86)\PHP\php.ini
:extension=php_sqlsrv_53_nts.dll
Then restarted the entire server. I still get fatal errors in my log file saying:
PHP Fatal error: Call to undefined function mssql_connect()
What do I need to do to connect to Microsoft SQL Server 2008 from PHP 5.3 running on IIS7/Windows Server 2008? I'm sure it's something really dumb that I'm missing...
FULL PHPINFO --> http://demo.mandibleweb.com/zapified/hello.php
phpinfo():
PHP Version 5.3.10 System Windows NT MWD001 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586 Build Date Feb 2 2012 20:10:58 Compiler MSVC9 (Visual C++ 2008) Architecture x86 Configure Command cscript /nologo configure.js "--enable-snapshot-build" "--enable-debug-pack" "--disable-zts" "--disable-isapi" "--disable-nsapi" "--without-mssql" "--without-pdo-mssql" "--without-pi3web" "--with-pdo-oci=C:\php-sdk\oracle\instantclient10\sdk,shared" "--with-oci8=C:\php-sdk\oracle\instantclient10\sdk,shared" "--with-oci8-11g=C:\php-sdk\oracle\instantclient11\sdk,shared" "--with-enchant=shared" "--enable-object-out-dir=../obj/" "--enable-com-dotnet" "--with-mcrypt=static" "--disable-static-analyze" Server API CGI/FastCGI Virtual Directory Support disabled Configuration File (php.ini) Path C:\Windows Loaded Configuration File C:\Program Files (x86)\PHP\php.ini
-
Greg about 12 yearsSorry, here's the full phpinfo(), I do have the
sqlsrv
section -
Greg about 12 yearsSorry, here's the full phpinfo()
-
Krista K about 12 yearsYes, I was about to say I didn't see a mssql section in the phpinfo.
-
Greg about 12 yearsyay.. I'm in :), I had to download SQL Server 2012 Native Client microsoft.com/download/en/details.aspx?id=29065
-
shaiss over 11 yearsThank you! I had been using mssql_connect() till this post turned on the bulb. I opened the chm and am using sqlsrv_connect() with no problems. Thank You!