Uso básico
Todos lo ejemplos de la documentación de PHP de MaxDB usan la base de datos de demostración HOTELDB de MaxDB. Se puede encontrar más sobre esta base de datos en » http://maxdb.sap.com/doc/7_7/44/d8c25164bb38d0e10000000a1553f7/content.htm.
Para utilizar los ejemplos en la documentación de PHP de MaxDB debe tener cargado la información del tutorial en su base de datos. Después tiene que setablecer maxdb.default_db en php.ini a la base de datos que contiene la información del tutorial.
Este sencillo ejemplo muestra cómo conectarse, ejecutar una consulta e imprimir las filas resultantes de una base de datos MaxDB.
Ejemplo #1 MaxDB extension overview example
<?php
$enlace = maxdb_connect("localhost", "MONA", "RED", "DEMODB");
/* verificar la conexión */
if (maxdb_connect_errno()) {
printf("Falló la conexión: %s\n", maxdb_connect_error());
exit();
}
/* Realizar una consulta SQL */
$consulta = "SELECT * FROM hotel.city";
$resultado = maxdb_query($enlace, $consulta) or die("Falló la consulta : " . maxdb_error());
/* Imprimir los resultados en HTML */
echo "<table>\n";
while ($línea = maxdb_fetch_array($resultado, MAXDB_ASSOC)) {
echo " <tr>\n";
foreach ($línea as $valor_col) {
echo " <td>$valor_col</td>\n";
}
echo " </tr>\n";
}
echo "</table>\n";
/* Liberar el conjunto de resultados */
maxdb_free_result($resultado);
/* Cerrar la conexión */
maxdb_close($enlace);
?>
El siguiente ejemplo muestra cómo vincular variables a una sentencia SELECT INTO.
Ejemplo #2 Ejemplo para usar sentencias SELECT INTO
<?php
$enlace = maxdb_connect("localhost", "MONA", "RED", "DEMODB");
/* verificar la conexión */
if (!$enlace) {
printf("Falló la conexión: %s\n", maxdb_connect_error());
exit();
}
/* Realizar una consulta SQL */
$sentencia = maxdb_prepare ($enlace, "SELECT percentage INTO ? FROM hotel.countrylanguage where language = ?");
if (!$sentencia) {
printf ("Falló la preparación: %s\n", maxdb_error($enlace));
}
$nombre = "Mbundu";
maxdb_stmt_bind_param($sentencia, 'ds', $porcentaje, $nombre);
maxdb_stmt_execute($sentencia);
printf ("%f\n", $porcentaje);
maxdb_stmt_close ($sentencia);
?>
El siguiente ejemplo muestra cómo usar los procedimientos de una base de datos MaxDB.
Ejemplo #3 Ejemplo de uso de procesimientos de una base de datos
<?php
$enlace = maxdb_connect("localhost", "MONA", "RED", "DEMODB");
/* verificar la conexión */
if (!$enlace) {
printf("Falló la conexión: %s\n", maxdb_connect_error());
exit();
}
maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($enlace,"DROP DBPROC test_proc");
maxdb_report (MAXDB_REPORT_ERROR);
$consulta = "create dbproc test_proc (INOUT e_text char(72)) AS select * from SYSDBA.DUAL; fetch into :e_text;";
maxdb_query($enlace, $consulta);
/* Realizar una consulta SQL */
$sentencia = maxdb_prepare ($enlace, "CALL test_proc (?)");
if (!$sentencia) {
printf ("Prepare failed: %s\n", maxdb_error($enlace));
}
maxdb_stmt_bind_param($sentencia, 's', $resultado);
maxdb_stmt_execute($sentencia);
printf ("%s\n", $resultado);
maxdb_stmt_close ($sentencia);
?>