PHP 8.5.0 Alpha 1 available for testing

Funciones de IBM DB2

Tabla de contenidos

  • db2_autocommit — Devuelve o modifica el estado AUTOCOMMIT de la conexión a la base de datos
  • db2_bind_param — Asocia una variable PHP a un parámetro de una consulta SQL
  • db2_client_info — Devuelve un objeto con propiedades que describen el cliente de base de datos DB2
  • db2_close — Cierra una conexión a base de datos
  • db2_column_privileges — Devuelve un conjunto de resultados que lista las columnas y sus privilegios de una tabla
  • db2_columns — Devuelve un conjunto de resultados que lista las columnas y sus metadatos de una tabla
  • db2_commit — Confirmar una transacción
  • db2_conn_error — Devuelve un string que contiene el valor de SQLSTATE devuelto por el último intento de conexión
  • db2_conn_errormsg — Devuelve el último mensaje de error de conexión junto con el valor de SQLCODE
  • db2_connect — Devuelve una conexión a una base de datos
  • db2_cursor_type — Devuelve el tipo de cursor utilizado por un recurso
  • db2_escape_string — Escapar ciertos caracteres especiales
  • db2_exec — Ejecuta una consulta SQL directamente
  • db2_execute — Ejecuta una consulta SQL preparada
  • db2_fetch_array — Devuelve un array, indexado por la posición de las columnas, que representa una línea del conjunto de resultados
  • db2_fetch_assoc — Devuelve un array, indexado por nombre de columna, que representa una fila del conjunto de resultados
  • db2_fetch_both — Devuelve un array, indexado por nombre de columna y posición, que representa una fila del conjunto de resultados
  • db2_fetch_object — Devuelve un objeto con las propiedades que representan columnas en la fila extraída
  • db2_fetch_row — Modifica el puntero del conjunto de resultados a la siguiente línea o a la línea solicitada
  • db2_field_display_size — Devuelve el máximo de octetos requeridos para mostrar una columna
  • db2_field_name — Devuelve el nombre de la columna del conjunto de resultados
  • db2_field_num — Devuelve la posición del nombre de la columna del conjunto de resultados
  • db2_field_precision — Devuelve la precisión de la columna indicada del conjunto de resultados
  • db2_field_scale — Devuelve la escala de la columna indicada del conjunto de resultados
  • db2_field_type — Devuelve el tipo de dato de la columna indicada del conjunto de resultados
  • db2_field_width — Devuelve el ancho de la columna indicada en el conjunto de resultados
  • db2_foreign_keys — Devuelve un conjunto de resultados que lista las claves externas de una tabla
  • db2_free_result — Liberar los recursos asociados con un resultado
  • db2_free_stmt — Liberar un recurso indicado
  • db2_get_option — Recupera el valor de una opción para una consulta o conexión
  • db2_last_insert_id — Retorna el último ID generado por la última consulta de inserción
  • db2_lob_read — Recupera grandes objetos binarios de tamaños predefinidos en cada invocación
  • db2_next_result — Solicita el siguiente conjunto de resultados de la recurso indicado
  • db2_num_fields — Devuelve el número de campos contenido en el conjunto de resultados
  • db2_num_rows — Devuelve el número de filas afectadas por una consulta SQL
  • db2_pclose — Cierra una conexión persistente a la base de datos
  • db2_pconnect — Devuelve una conexión persistente a una base de datos
  • db2_prepare — Prepara una consulta SQL para ser ejecutada
  • db2_primary_keys — Devuelve un conjunto de resultados que lista las claves de una tabla
  • db2_procedure_columns — Devuelve un conjunto de resultados que lista los argumentos de procedimiento de registro
  • db2_procedures — Devuelve un conjunto de resultados que lista las proceduras de registro almacenadas en la base de datos
  • db2_result — Devuelve un valor de una columna de una fila de un conjunto de resultados
  • db2_rollback — Cancelar una transacción
  • db2_server_info — Devuelve un objeto con propiedades que describen el servidor de base de datos DB2
  • db2_set_option — Establece opciones para una conexión o recursos
  • db2_special_columns — Devuelve un conjunto de resultados que lista los identificadores únicos de las filas de una tabla
  • db2_statistics — Devuelve un conjunto de resultados que enumera los índices y estadísticas de una tabla
  • db2_stmt_error — Devuelve un string que contiene el valor de SQLSTATE retornado por una consulta SQL
  • db2_stmt_errormsg — Devuelve el último mensaje de error de una consulta SQL
  • db2_table_privileges — Devuelve un conjunto de resultados que lista las tablas y sus privilegios asociados en una base de datos
  • db2_tables — Devuelve la lista de tablas y sus metadatos
add a note

User Contributed Notes 3 notes

up
3
igtoth at gmail dot com
11 years ago
// IBM DB2 funcitons like MySQL (ODBC based)
// "Ighor Toth" <[email protected]>
// Date: 08/05/2014

// usage:
// db2_connect(verbose,instance,username,password); -> also reads config file if nothing declared db2.conf.inc.php
// db2_query(db2_connect_return,sql)
// db2_fetch_array(result);
// db2_fetch_object(result);
// db2_display_table(db2_connect_return,sql); // select only

function db2_connect($verbose = null,$db2name = null,$username = null,$password = null) {
if(!isset($verbose)){
$verbose = TRUE; // TRUE or FALSE, if not set TRUE
}
if(!isset($db2name)){ // NOT DECLARED
include("db2.conf.inc.php"); // CHECK CONFIG FILE
if(!isset($db2name)){
if ($verbose == TRUE){
echo ("DB2 Instance not selected");
exit();
} else {
exit();
}
}
} else if (!isset($username)){
echo ("DB2 Instance username not specified");
exit();
}
$db2conn = odbc_connect($db2name, $username, $password);
if (($verbose == TRUE) && ($db2conn == 0)) {
echo("Connection to database failed.");
$sqlerror = odbc_errormsg($db2conn);
echo($sqlerror);
}
return($db2conn);
}

function db2_query($db2conn,$sql){
$result = odbc_exec($db2conn, $sql);
if ($result == 0) {
echo("QUERY = '$sql' FAILED.<br>\n");
$sqlerror = odbc_errormsg($db2conn);
echo($sqlerror);
} else {
// odbc_result_all prints all of the rows
// for a result set ID as an HTML table
return $result;
}
}

function db2_fetch_array($result, $rownumber=null){
$array = array();
if (!($cols = odbc_fetch_into($result, $result_array, $rownumber))) {
return false;
}
for ($i = 1; $i <= $cols; $i++) {
$array[odbc_field_name($result, $i)] = $result_array[$i - 1];
}
return $array;
}

function db2_fetch_object($result){
if(function_exists("db2_fetch_object")) return db2_fetch_object($result);
$rs = array();
$rs_obj = false;
if( odbc_fetch_into($result, $rs) ){
foreach( $rs as $key=>$value ){
$fkey = odbc_field_name($result, $key+1);
$rs_obj->$fkey = trim($value);
}
}
return $rs_obj;
}

function db2_display_table($db2conn,$sql) {
// select all rows from the table
if(!isset($db2conn)||!isset($sql)){
echo("ERROR db2_display_table: Function missing arguments");
exit();
}
$check = explode(" ",$sql);
if($check[0]!="SELECT"){
echo("ERROR db2_display_table: Not SELECT SQL query");
}
if ($db2conn != 0) {
// odbc_exec returns 0 if the statement fails;
// otherwise it returns a result set ID
$result = odbc_exec($db2conn, $sql);
if ($result == 0) {
echo("SELECT statement failed.");
$sqlerror = odbc_errormsg($db2conn);
echo($sqlerror);
} else {
// odbc_result_all prints all of the rows
// for a result set ID as an HTML table
odbc_result_all($result);
}
}
}
up
1
Richard dot Ablewhite at gmail dot com
16 years ago
There seems to be a lot of good documentation
for Linux users compiling PHP with DB2 support,
but decent Windows notes are minimal.

You do not need to install full DB2 clients to get DB2
working with DB2, all you need is the IBM Data
Server Driver for ODBC, CLI, and .NET which is only
16.1 meg.

You can download the driver from here:

Direct Link:
ftp://ftp.software.ibm.com/ps/products/db2/fixes2/englsh-us/
db2_v95/dsdriver/fp2/v9.5fp2_nt32_dsdriver_EN.exe

Home Page:
http://www-01.ibm.com/support/docview.wss?rs=71&uid=swg21287889

This includes both the drivers required and the PHP
dll php_ibm_db2_5.2.2.dll

Once installed the drivers do not setup the correct
path environmental variable,
so add the following to your path:

C:\Program Files\IBM\IBM DATA SERVER DRIVER\bin

Once thats done all should work! No massive
400meg client downloads required.

Whats even better about these drivers is that you
dont need to install them,
you can simply copy the bin directory to any server,
add it to your path and it will just work.
This is great for anyone developing PHP-GTK applications,
I copy the bin directory into my php-gkt2 directory
and execute using the following batch script:

path = %PATH%;.\IBM DATA SERVER DRIVER\bin
php-win.exe %*

This lets me role out lightweight DB2 client desktop
apps that dont have to be installed,
can just be coppied from PC to PC or ran over a
network or from USB stick.

As your only installing the client drivers you wont be
able to catalog databases,
so always use the full connection string. Here is a
quick bit of code to get you started:

$database = 'databasename';
$user = 'user';
$password = 'password';
$hostname = '127.0.0.1';
$port = 50000;

$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;" .
"HOSTNAME=$hostname;PORT=$port;".
"PROTOCOL=TCPIP;UID=$user;PWD=$password;";
$conn = db2_connect($conn_string, '', '');

$query = 'SELECT * FROM TABLE';
$res = db2_prepare($conn, $query);
db2_execute($res);

while ($row = db2_fetch_array($res)) {
print_r($row);
}
up
0
Exi
17 years ago
The DB/2 Run-Time-Client can be found here:
http://www-1.ibm.com/support/docview.wss?rs=71&uid=swg21255394
Select the 'Runtime Client Installable for Windows' further down the page and download it.
Clients for other platform (incl. 64-Bit Windows) are also available from that page.
To Top