Tengo un sistema con informix que esta con opensuse, necesito conectarme desde mi equipo que esta con BoliviaOS ( Ubuntu ), hacer lo que es en windows una ODBC, necesito conectarme para hacer unas aplicaciones con php.
Respuesta
Primero asegurate tener la extension ifx, instalada en php5
extension=php_ifx.so
Luego es muy parecido a realizar conexiones y consultas con otras librerias como mysql o postgres.
$conn_id = ifx_connect ("mydb@servidor", "informix", "informix");
echo "Error en la conexión!";
exit;
}
$result = ifx_query("SELECT NOMBRES, APELLIDOS FROM T_CLIENTES",$conn_id);
// la siguiente es una función trucha, pero muy practica.
// probablemente quieras hacer una iteración y tomar los valores
// cada registro
ifx_htmltbl_result($result, "border=1");
ifx_free_result($result);
ifx_close($conn_id);
?
Leyendo esto http://adf.ly/1esDjP tendras toda la idea general de lo que puedes hacer.
echo "Error en la conexión!";
exit;
}
$result = ifx_query("SELECT NOMBRES, APELLIDOS FROM T_CLIENTES",$conn_id);
// la siguiente es una función trucha, pero muy practica.
// probablemente quieras hacer una iteración y tomar los valores
// cada registro
ifx_htmltbl_result($result, "border=1");
ifx_free_result($result);
ifx_close($conn_id);
?
Leyendo esto http://adf.ly/1esDjP tendras toda la idea general de lo que puedes hacer.
Hay librerías y ORM's que ya mapean y ayudan con las consultas, ademas de brindar seguridad sanitando las cadenas. puedes encontrar varias. La más completa es Propel y Doctrine.
Yo haría el desarrollo en Symfony http://adf.ly/1esDku y aprovecharía el ORM.
Otra respuesta
Personalmente, muy personalmente, usaría jdbc:
http://adf.ly/1esDnn
http://adf.ly/1esDpA
Php y bases de datos, en mi no tan humilde experiencia, es una
combinación bastante dolorosa... como casi todo en php.
Aclaracion de la pregunta
la verificacion de php_ifx.so, es en php.ini?
Respuesta a la claración de la pregunta
Seguramente se activa en php.ini, pero php_ifx.so no existe en
ubuntu. 99.9999% seguro que no existe en boliviaos. Necesitas
compilarlo por tu cuenta. De allí lo de doloroso.
Otra respuesta
Compilar no duele :-)
Con informix bien instalado
$ sudo apt-get install php5-dev
$ svn checkout http://svn.php.net/repository/pecl/informix/trunk php_ifx
$ cd php_ifx
$ export LDFLAGS=$INFORMIXDIR/lib/esql/checkapi.o
$ make
busca la libreria generada informix.so
luego solo añades, "extension=informix.so" en el php.ini que estas usando. No hay más problemas, yo pude compilar en unos tres minutos. Por supuesto, tienes que tener Informix con el SDK osea el archivo checkapi.o tiene que existir.
Después te fijas con una función phpinfo() si esta cargado.
La documentación oficial para la instalación esta aquí
http://adf.ly/1esDsG,
puedes notar que no son exactamente los mismos pasos que hice.
Hay más facilidades en otras plataformas, en python es tan trivial como un easy_install.