| ADOdb Library for PHP Manual | ||
|---|---|---|
| Prev | Bind | Next |
This is a low-level function supported only by the oci8 driver. Avoid using unless you only want to support Oracle. The Parameter( ) function is the recommended way to go with bind variables.
Bind( ) allows you to use bind variables in your sql statement. This binds a PHP variable to a name defined in an Oracle sql statement that was previously prepared using Prepare(). Oracle named variables begin with a colon, and ADOdb requires the named variables be called :0, :1, :2, :3, etc. The first invocation of Bind() will match :0, the second invocation will match :1, etc. Binding can provide 100% speedups for insert, select and update statements.
The other variables, $size sets the buffer size for data storage, $type is the optional descriptor type OCI_B_FILE (Binary-File), OCI_B_CFILE (Character-File), OCI_B_CLOB (Character-LOB), OCI_B_BLOB (Binary-LOB) and OCI_B_ROWID (ROWID). Lastly, instead of using the default :0, :1, etc names, you can define your own bind-name using $name.
The following example shows 3 bind variables being used: p1, p2 and p3. These variables are bound to :0, :1 and :2.
$stmt
= $DB->Prepare("insert
into table (col0, col1, col2) values (:0, :1, :2)");
$DB->Bind($stmt, $p1);
$DB->Bind($stmt, $p2);
$DB->Bind($stmt, $p3);
for ($i = 0; $i < $max; $i++) {
$p1 = ?; $p2 = ?; $p3 = ?;
$DB->Execute($stmt);
}
You can also use named variables:
$stmt = $DB->Prepare("insert into table (col0, col1, col2) values (:name0, :name1, :name2)");
$DB->Bind($stmt, $p1, "name0");
$DB->Bind($stmt, $p2, "name1");
$DB->Bind($stmt, $p3, "name2");
for ($i = 0; $i < $max; $i++) {
$p1 = ?; $p2 = ?; $p3 = ?;
$DB->Execute($stmt);
}
| Prev | Home | Next |
| fnExecute and fnCacheExecute | Up | BlankRecordSet |