db2_exec
Executes an SQL statement directly
&reftitle.description;
resourcedb2_exec
resourceconnection
stringstatement
arrayoptions
Executes an SQL statement directly.
If you plan to interpolate PHP variables into the SQL statement, understand
that this is one of the more common security exposures. Consider calling
db2_prepare to prepare an SQL statement with parameter
markers for input values. Then you can call db2_execute
to pass in the input values and avoid SQL injection attacks.
If you plan to repeatedly issue the same SQL statement with different
parameters, consider calling db2_prepare and
db2_execute to enable the database server to reuse its
access plan and increase the efficiency of your database access.
&reftitle.parameters;
connection
A valid database connection resource variable as returned from
db2_connect or db2_pconnect.
statement
An SQL statement. The statement cannot contain any parameter markers.
options
An associative array containing statement options. You can use this
parameter to request a scrollable cursor on database servers that
support this functionality.
For a description of valid statement options, see
db2_set_option.
&reftitle.returnvalues;
Returns a statement resource if the SQL statement was issued successfully,
or &false; if the database failed to execute the SQL statement.
&reftitle.examples;
Creating a table with db2_exec
The following example uses db2_exec to issue a set
of DDL statements in the process of creating a table.
]]>
&example.outputs;
Executing a SELECT statement with a scrollable cursor
The following example demonstrates how to request a scrollable cursor for
an SQL statement issued by db2_exec.
DB2_SCROLLABLE));
while ($row = db2_fetch_array($stmt)) {
print "$row[0]\n";
}
}
?>
]]>
&example.outputs;
Returning XML data as a SQL ResultSet
The following example demonstrates how to work with documents stored
in a XML column using the SAMPLE database. Using some pretty simple
SQL/XML, this example returns some of the nodes in a XML document in
a SQL ResultSet format that most users are familiar with.
CID $row->NAME $row->PHONE\n");
}
db2_close($conn);
?>
]]>
&example.outputs;
Performing a "JOIN" with XML data
The following example works with documents stored in 2 different
XML columns in the SAMPLE database. It creates 2 temporary
tables from the XML documents from 2 different columns and
returns a SQL ResultSet with information regarding shipping
status for the customer.
CID $row->NAME $row->PHONE $row->PONUM $row->STATUS\n");
}
db2_close($conn);
?>
]]>
&example.outputs;
Returning SQL data as part of a larger XML document
The following example works with a portion of the PRODUCT.DESCRIPTION
documents in the SAMPLE database. It creates a XML document containing
product description (XML data) and pricing info (SQL data).
{
for $prod in $doc/product
where $prod/description/price < 10.00
order by $prod/description/price ascending
return(
{
$prod,
{$start} ,
{$end} ,
{$promo}
}
)
}
\' passing by ref DESCRIPTION AS "doc",
PROMOSTART as "start",
PROMOEND as "end",
PROMOPRICE as "promo"
RETURNING SEQUENCE)
AS CLOB (32000))
AS NEW_PRODUCT_INFO
FROM PRODUCT
WHERE PID = \'100-100-01\'
';
$stmt = db2_exec($conn, $query);
while($row = db2_fetch_array($stmt)){
printf("$row[0]\n");
}
db2_close($conn);
?>
]]>
&example.outputs;
Snow Shovel, Basic 22 inch
Basic Snow Shovel, 22 inches wide, straight handle with D-Grip
9.99
1 kg
2004-11-19
2004-12-19
7.25
]]>
&reftitle.seealso;
db2_execute
db2_prepare