Llamada a la función no definida sqlsrv_connect () – Solución de problemas

Información del sistema

CMS: WordPress

Servidor web: XAMPP

Versión de PHP: 5.5.30

MS Management Studio 17

Gol

Establecer una conexión de base de datos MSSQL usando PHP

Lo que se ha hecho

  1. Controladores SQLSRV descargados
  2. Copió los archivos php_pdo_sqlsrv_55_nts.dll y php_pdo_sqlsrv_55_ts.dll en el directorio C:\xampp\php\ext
  3. Se agregaron las siguientes líneas a la parte de extensiones dinámicas en el archivo php.ini: extension=php_pdo_sqlsrv_55_ts.dll y extension=php_pdo_sqlsrv_55_nts.dll
  4. Servidor web reiniciado
  5. El sqlsrv confirmado aparece en phpinfo ()

Código

 $serverName = "technology-pc\sqlexpress"; // The connection will be attempted using Windows Authentication. $connectionInfo = array( "Database"=>"example_db"); $conn = sqlsrv_connect($serverName, $connectionInfo); if( $conn ) { echo "Connection established.
"; } else { echo "Connection could not be established.
"; die( print_r( sqlsrv_errors(), true)); }

Error

Llamada a la función no definida sqlsrv_connect ()

Ha agregado la variante PDO de controladores SQLSRV a la lista de extensiones, pero no ha agregado los controladores base php_sqlsrv_55_ts.dll .

Agregar a php.ini:

 extension=php_sqlsrv_55_ts.dll 

o

 extension=php_sqlsrv_55_nts.dll 

Además, realmente debería utilizar las versiones Thread-Safe ( _ts.dll ) o Non-Thread-Safe ( _nts.dll ) del controlador, no ambas. Creo que, como está utilizando un servidor Apache, debería usar las versiones de Thread-Safe. Entonces tu php.ini debería tener:

 extension=php_sqlsrv_55_ts.dll extension=php_pdo_sqlsrv_55_ts.dll 

Probablemente editaste el archivo php.ini incorrecto. Compruebe el archivo php.ini correcto con información de php.

Puedes usar este script:

 < ?php echo phpinfo(); ?> 

O si tiene acceso a la CLI, escriba php -i para obtener la información en la lista. Compruebe la ruta correcta de su archivo php.ini.

Pruebe el siguiente código para conectar la base de datos mssql

 $server = 'dburl.com\MSSQLSERVER, 1433'; $username = 'uname'; $password = 'password'; $connectionInfo = array( "Database"=>$database, "UID"=>$username, "PWD"=>$password,"ReturnDatesAsStrings"=>true); $conn = sqlsrv_connect( $server, $connectionInfo);