sqlsrv_connect para mssql_connect mssql microsoft instalar for error conectar con php sql-server database

para - PHP puede trabajar con una base de datos MS SQL



php sql server driver (8)

Trabajo principalmente con PHP y MySQL, pero tengo un cliente potencial con una configuración de MS SQL y ASP. Debido a algunas razones complicadas y la integración de software fuera de línea, deben mantener las bases de datos en el mismo formato, lo que significa que no se moverá a MySQL, lo que sería mi preferencia personal.

Entonces, la pregunta es: ¿puedo usar PHP para acceder y manipular una base de datos MS SQL o estoy atornillado a esta?

Gracias por adelantado



Para mí, la solución ha sido instalar los controladores de MS como se indicó anteriormente y usar la biblioteca ADODB como intermedio. He tenido esto en producción en una intranet sobre IIS6 y el último MSSQLExpress durante meses sin ningún problema, perfectamente confiable.


Sí tu puedes. Depende de la versión de PHP que esté usando, pero si está usando PHP5 +, puede usar el Controlador SQL Server de Microsoft para PHP . Asegúrese de usar la versión 2, que le brinda la funcionalidad de PDO así como el estilo de procedimiento.

También puede utilizar el controlador ODBC de PDO para acceder a una instancia de SQL Server, pero ese enfoque es más defectuoso y no lo recomiendo.

Finalmente, puedes usar la biblioteca PHP MSSQL pero eso es aún peor. Vaya con la propia solución de Microsoft si puede.

Edición: Ah, y también está el controlador DBLIB PDO MSSQL . ¡Aléjese de ese también!



Sí, puedes usar MS SQL y PHP juntos. Aquí hay solo una página de PHP.net que muestra todas las funciones y comandos: php_mssql

Explica todo lo que necesitas.


Sí. Mientras tenga la extensión php_mssql en su servidor, puede usar las siguientes funciones comunes:

// Connect to mssql server $handle = mssql_connect($host, $user, $pass) or die("Cannot connect to server"); // Select a database $db = mssql_select_db($dn_name, $handle) or die("Cannot select database"); // Execute a query $query = "SELECT * FROM users WHERE lname = ''Smith''"; $result = mssql_query($query); // Iterate over results<br /> while($row = mssql_fetch_array($result)) { echo $row["id"]; }

Nota: Desde PHP 5.3, esta extensión no está incluida (y probablemente no se mantiene). Puedes descargarlo y agregarlo manualmente, o mejor usar los controladores de Microsoft .


Si puedes conectarte a MsSQL. Si está utilizando wamp, active la extensión php php_mssql; de lo contrario, utilice el archivo php.ini y modifíquelo.


También puedes usar sqlsrv si estás usando PHP5.3 +

Formar microsoft

Los controladores de Microsoft para PHP para SQL Server, versión 3.1 requieren PHP 5.4.32, o PHP 5.5.16, o posterior. Los controladores de Microsoft para PHP para SQL Server, versión 3.0, requieren PHP 5.3.0 o posterior. Si es posible, use PHP 5.3.6, o posterior.

Página de descarga de Microsoft: microsoft sqlsrv download

Microsoft SQL Server Driver para PHP Manual: php sqlsrv manual