Gente estoy teniendo bastantes problemas para conectarme con PHP a un SQL Server 2008.
Me dice que la funcion mssql_connect no existe ¿?
¿Alguien tiene experiencia con esto? Yo siempre trabajé con MySQL...
Desde ya, muchas gracias.
| |||
PHP - SQL Server Gente estoy teniendo bastantes problemas para conectarme con PHP a un SQL Server 2008. Me dice que la funcion mssql_connect no existe ¿? ¿Alguien tiene experiencia con esto? Yo siempre trabajé con MySQL... Desde ya, muchas gracias. |
| ||||
Respuesta: PHP - SQL Server El acceso a MS SQL debe habilitarse en php, lee esto: http://www.php.net/manual/es/mssql.requirements.php |
| |||
Respuesta: PHP - SQL Server Triby muchas gracias por tu respuesta, me ha sido muy útil ya que siguiendo la página de PHP y los enlaces que allí se encuentran he logrado hacer la conexión con SQL Server. Ahora bien, una vez conectado me esperaba que me resulte fácil trabajar con SQL Server. Yo estoy acostumbrado a trabajar con MySQL, con las funciones mysql_connect, mysql_select_db, mysql_query, mysql_fetch_array, etc. Y como sabía que existían sus equivalentes para SQL Server: mssql_connect, mssql_query, etc. pensé que iba a ser casi lo mismo programar contra una base de datos que contra otra. Pero me encuentro con que esas funciones aparentemente ya no existen y hay que usar unas nuevas: sqlsrv_connect, sqlsrv_query, etc. que son bastante diferentes. O sea que antes de ponerme a hacer algo voy a tener que aprender un montón de cosas nuevas y perder bastante tiempo por lo que veo. ¿Estoy acertado, o hay alguna manera de programar en PHP de forma transparente al motor de base de datos? |
| ||||
Respuesta: PHP - SQL Server Hacer un motor de SQL transparente a la base de datos es fundamental. Así, si un día quieres cambiar de base de datos, sólo tendrás que tocar un archivo. Para ello, se crea una interface (o clase totalmente abstracta) con los métodos generales de gestión de bases de datos (conectarse, desconectarse, hacer una consulta, etc). Luego, por cada tipo de base de datos que exista, se crea una nueva clase que herede de la interfaz, y se programan sus métodos finales utilizando las funciones que te proporcione tu base de datos (mysql, microsoft sql server, oracle, etc). Aquí tienes un ejemplo de implementación de bases de datos en MYSQL y MS SQL SERVER: http://www.shapeshifter.se/2008/08/0...rface-for-php/ En ese enlace no lo pone, pero como toque final, se suele seguir el patrón factoría para crear conexiones. Sería algo así:
Código PHP:
Ver original Por último, donde necesites una conexión a la base de datos en tu propio PHP, usas:
Código PHP:
Ver original Y si en el futuro, tienes que cambiar de base de datos, por ejemplo a MS SQL, solo tendrías que cambiar la línea a: $conectorBD=Connectors::getConnection(Connectors:: MSSQL); El resto del PHP, funcionaría igual. Última edición por marlanga; 20/10/2012 a las 13:08 |
| ||||
Respuesta: PHP - SQL Server Si bien lo que dice @marlanga, es correcto, lo mejor es trabajar con algo ya establecido, PHP dispone para ti PDO, que precisamente es un motor de acceso a bases de datos que soporta varios RDBMS, como Oracle, ODBC, MSSQL, MySQL, PostgreSQL, y SQLlite entre otros. |
Etiquetas: |