jueves, 8 de septiembre de 2011

Conexión a MSSQL desde PHP

Bueno, ya sabemos conectarnos a MYSQL por la entrada anterior, vamos a probar ahora con otro gestor: MSSQL.

Vamos a comenzar con la configuración para evitarnos un error muy común : Fatal error: Call to Undefined function...

Lo primero es tener la dll. Vamos a comenzar buscando en el directorio dlls donde tengamos instalado el php para verificar si está allí la dll  php_mssql.dll. Si no se encuentra debes descargarla de internet y copiarla en el directorio antes mencionado.
Una vez que tienes la dll hay que modificar el php.ini. Lo puedes hacer con el notepad. Las modificaciones son muy sencillas.

Buscar la linea 
;extension=php_mssql.dll
Se les quita el ; que tiene delante. Guardas los cambios. Reinicias el Apache y listo.

Importante: Si la dll no estaba en la instalación y te las tuviste que descargar de internet debes cambiar también la linea
extension_dir =  Para poner la dirección donde se encuentran las dlls.

Una vez configurado todo vamos al código.

Como en el caso de MySQL existen las funciones especificas para conectarnos:

mssql_connect(servername, login, password)
mssql_pconnect(servername, login, password)

Las diferencias son básicamente las mismas que están explicadas en la entrada Conexión a MySQL desde PHP para las funciones similares de MySQL.

Vamos entonces el ejemplo para la conexión.
<?
$conexion = mssql_pconnect("NombreServidor","SA","passSA");
mssql_select_db("Prueba");
?>
Mi Recomedación: Reitero la recomendación que di en la entrada anterior. Creo que es mejor tener el código de conexión en un archivo aparte y referenciarlo de cada una de las páginas donde se necesite luego. De esta forma ante cualquier cambio en los datos de conexión como nombre del servidor, login o password, solo hay que realizar los cambios en un archivo.

Una vez conectados podemos realizar las consultas a la base de datos, ya sea INSERT, UPDATE, SELECT, DELETE. Para todas se utiliza la misma sentencia mssql_query($cadenaconsulta, $conexion) solo cambia la cadena de la consulta.

Veamos un ejemplo de consultas a la base de datos:
<?
/* Si como recomendé pusiste tu código de conexión en un archivo aparte lo primero es referenciarlo. Puedes hacerlo con require() o include().*/
include(''../conexion.php'');
//consulto la base de datos
$resultcliente = mssql_query("select NCliente, NombreCliente from clientes",$conexion); 
//muestro los resultados
while ($c=mysql_fetch_object($resultcliente)) //como hay varias filas lo pongo dentro de un ciclo
{
     echo $c->NombreCliente; //imprimo los resultados
 }//cierro el while
 //los resultados se pueden mostrar en algún elemento html como listbox, checkbox, etc..
?>

Bueno hasta aquí la entrada de hoy, espero sus comentarios y preguntas al respecto.

Nos vemos mañana para seguir hablando de programación.

1 comentario:

  1. Hola, te cuento que estoy haciendo una web y venía barbaro con el html hasta que llegó el momento de poner comentarios en las notas....no tengo idea de como hacerlo. O sea no tengo armado nada en sql para subir ni notas ni comentarios asociados...Please si podrias darme una mano te lo reagradeceria...mi mail es wally2403@gmail.com

    Gracias!

    ResponderEliminar