Este truco ha sido sacado de la siguiente
documentacion de
Ingres:
- Ingres® 2006 Release 2 for Windows Quick Start Guide (qs_windows.pdf)
- Ingres® 2006 Release 2 for Linux Quick Start Guide (qs_linux.pdf)
Descargar PECL
- Windows (driver)
http://pecl4win.php.net/ext.php/php_ingres.dll
- Linux & Unix (código fuente)
http://pecl.php.net/package/ingres
Instalación
Bajo windows
1. Copia el archivo
php_ingres.dll en el directorio de las extensiones PHP
2. Edita tu archivo
php.ini y añade la siguiente linea:
extension=php_ingres.dll
Bajo Linux y Unix
1. Ubica el directorio donde se encuentra el comando
phpize o
php-config
En algunas distribuciones de Linux es necesario cambiar de nombre a estos archivos para evitar conflictos. Para compilar la biblioteca PECL Ingres es necesario un compilador.
2. Asegurate de que la variable II_SYSTEM es una variable valorizada.
echo $II_SYSTEM
3. Desplazate hasta el directorio que contiene el codigo fuente de la extensión
4. Genera la configuración para la extensión
phpize
5. Genera el Makefile
./configure --with-ingres
6. Compila la extensión
make
7. Instala la extensión
make install
8. Edita el archivo
php.ini y añade la linea
extension=ingres.so
9. Si utilizas Apache, utiliza la directiva
User del
httpd.conf para asegurarte de que Apache trabaja bien con un usuario Ingres válido
Apache para Linux & Unix
1. En la configuración de Apache, añade las siguientes lineas (o verifica que no estén comentadas):
LoadModule env_modulo modulos/mod_env.so
SetEnv II_SYSTEM tu-directorio-II_SYSTEM
SetEnv LD_LIBRARY_PATH tu-directorio-II_SYSTEM/ingres/lib
2. Reinicia Apache
Ejemplo de código...
Nota: en los ejemplos precedente es posible especificar un
nodo o vnode
Conexión
<?php
$link = ingres_connect(“mydb”, “username”, “password”);
or die(“Could not connect”);
echo “Connected successfully”;
ingres_close($link);
?>
Test de errores
<?php
$link = ingres_connect(“mydb”, “username”, “password”);
if (ingres_errno($link) != 0) {
echo ingres_errno($link) . “ : “ . ingres_error($link) . “<BR/>\n”;
}
?>
Consulta simple
<?php
$link = ingres_connect(“mydb”, “username”, “password”);
// Gives a list of the tables
$sql = “select * from iirelation order by relid asc”;
$rc = ingres_query($sql,$link);
// Do some error checking...
while ( $iirelation = ingres_fetch_object($link) ) {
echo $iirelation->relid “<BR/>\n”;
}
?>
Consulta con parámetros
<?php
$link = ingres_connect(“iidbdb”, “ingres”, “ingres”);
// Gives a list of the tables based on a parameter
$sql = “select * from iirelation where relowner = ? order by relid asc”;
$params[“owner1”] = (“usrname”);
$rc = ingres_query($sql,$link,$params);
// Do some error checking...
while ( $iirelation=ingres_fetch_object($link) ) {
echo $iirelation->relid “<BR/>\n”;
}
?>
Subida de un BLOB
<?php
// Fetch the image to be inserted
$handle = fopen (“usrname.png”,”r”);
$login_image = stream_get_contents($handle);
fclose($handle);
// Set up the query
$sql = “insert into login_images values (?,?)”;
// Type the parameters being passed
$types = “vB”; // varchar, BLOB
// Set up the parameter values
$params[“login”] = “usrname”;
$params[“image”] = $login_image;
// Execute
$rc = ingres_query($sql,$link,$params,$types);
?>
PD: El
artículo original fue escrito por jpzuate, contribuidor de
CommentCaMarche