db2_exec
En esta página
db2_exec
Ejecuta una consulta SQL directamente
Descripción#
db2_exec(resource $connection, string $statement, [array $options]): resource
```php
Ejecuta una consulta SQL directamente.
Si se prevé insertar variables PHP en la consulta SQL, debe entenderse que esto es una de las fallas de seguridad más comunes. Se recomienda llamar a la función `db2_prepare` para preparar una consulta SQL que contenga marcadores para variables de entrada. Posteriormente, puede llamarse a la función `db2_execute` para pasar los valores de entrada y así evitar ataques por inyección SQL.
Si se prevé llamar repetidamente a la misma consulta SQL con diferentes parámetros, se recomienda utilizar las funciones `db2_prepare` y `db2_execute` para permitir que el servidor de base de datos reutilice su plan de acceso y así mejorar la eficiencia del acceso a la base de datos.
## Parámetros
`connection`
Una variable de tipo resource de conexión válida devuelta por `db2_connect` o `db2_pconnect`.
`statement`
Una consulta SQL. La consulta no puede contener marcadores.
`options`
Un array asociativo que contiene las opciones de la consulta. Este parámetro puede utilizarse para solicitar un cursor flotante en los servidores de base de datos que soportan esta funcionalidad.
Para obtener una descripción de las opciones válidas, consulte la función `db2_set_option`.
## Valores devueltos
Devuelve una variable de tipo resource si la consulta SQL fue enviada correctamente o `false` si la base de datos no pudo ejecutar la consulta SQL.
## Ejemplos
Creación de una tabla con `db2_exec`
El siguiente ejemplo utiliza la función `db2_exec` para enviar un conjunto de consultas DDL con el fin de crear una tabla.
El ejemplo anterior mostrará:
La tabla se ha creado correctamente.
Inserción... Inserción... Inserción... Inserción... Inserción... Inserción... Inserción...
Ejecución de una consulta SELECT con un cursor flotante
El siguiente ejemplo muestra cómo solicitar un cursor flotante para una consulta SQL enviada con la función `db2_exec`.
El ejemplo anterior mostrará:
Bubbles
Gizmo
Pook
Rickety Ride
Devuelve datos XML como ResultSet SQL
El siguiente ejemplo demuestra cómo utilizar documentos almacenados en una columna XML utilizando la base de datos SAMPLE. Mediante un simple SQL/XML, este ejemplo devuelve algunos nodos en un documento XML en un formato ResultSet SQL con el que la mayoría de los usuarios están familiarizados.
El ejemplo anterior mostrará:
1000 Kathy Smith 416-555-1358
1001 Kathy Smith 905-555-7258
Ejecutar un "JOIN" con datos XML
El siguiente ejemplo trabaja con documentos almacenados en dos columnas diferentes en la base de datos SAMPLE. Esto crea dos tablas temporales provenientes de los documentos XML de dos columnas XML diferentes y devuelve un ResultSet SQL con la información que contiene el estado de envío para un cliente.
El ejemplo anterior mostrará:
1001 Kathy Smith 905-555-7258 5002 Shipped
Devuelve datos SQL que forman parte de un documento XML grande
El siguiente ejemplo utiliza una porción de los documentos de PRODUCT.DESCRIPTION en la base de datos SAMPLE. Esto crea un documento XML que contiene la descripción del producto (datos XML) y la información sobre el precio (datos SQL).
```php
El ejemplo anterior mostrará:
<promoList xmlns="http://posample.org">
<promoitem>
<product pid="100-100-01">
<description>
<name>Snow Shovel, Basic 22 inch</name>
<details>Basic Snow Shovel, 22 inches wide, straight handle with D-Grip</details>
<price>9.99</price>
<weight>1 kg</weight>
</description>
</product>
<startdate>2004-11-19</startdate>
<enddate>2004-12-19</enddate>
<promoprice>7.25</promoprice>
</promoitem>
</promoList>
Véase también#
db2_execute
db2_prepare