I. Na początek
II.Instalacja i konfiguracja
III. Opis języka
IV. Bezpieczeństwo
V. Możliwości
VI. Opis funkcji
VII. Zend API
VIII. PHP API: Interfejs rozszerzeń
X. Dodatki

Manual PHP

Zapraszam do korzystania z zamieszczonego przeze mnie manuala php. Mam nadzieję, że ta jego kopia przyda się zarówno profesjonalnym programistą, jak i początkującym twórcą skryptów PHP.

Autorzy

Mehdi Achour,
Friedhelm Betz,
Antony Dovgal,
Nuno Lopes,
Philip Olson,
Georg Richter,
Damien Seguy,
Jakub Vrana,
I kilka innych

Redakcja:

Gabor Hojtsy,
Marcin Dąbrowski, Michał Grzechowiak, Leszek Krupiński, Adam Major, Paweł Paprota, Michał Pena, Sławomir Pucia, Jarek Tabor, Tomasz Wójtowicz,

ocibindbyname

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

ocibindbyname --  Bind a PHP variable to an Oracle Placeholder

Description

bool ocibindbyname ( resource stmt, string ph_name, mixed &variable [, int maxlength [, int type]] )

ocibindbyname() binds the PHP variable variable to the Oracle placeholder ph_name. Whether it will be used for input or output will be determined run-time, and the necessary storage space will be allocated. The length parameter sets the maximum length for the bind. If you set length to -1 ocibindbyname() will use the current length of variable to set the maximum length.

If you need to bind an abstract Datatype (LOB/ROWID/BFILE) you need to allocate it first using ocinewdescriptor() function. The length is not used for abstract Datatypes and should be set to -1. The type variable tells oracle, what kind of descriptor we want to use. Possible values are: 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).

Przykład 1. ocibindbyname() example

<?php
/* OCIBindByPos example thies at thieso dot net (980221)
  inserts 3 records into emp, and uses the ROWID for updating the
  records just after the insert.
*/

$conn = OCILogon("scott", "tiger");

$stmt = OCIParse($conn, "insert into emp (empno, ename) " .
                        
"values (:empno,:ename) " .
                        
"returning ROWID into :rid");

$data = array(1111 => "Larry", 2222 => "Bill", 3333 => "Jim");

$rowid = OCINewDescriptor($conn, OCI_D_ROWID);

OCIBindByName($stmt, ":empno", $empno, 32);
OCIBindByName($stmt, ":ename", $ename, 32);
OCIBindByName($stmt, ":rid", $rowid, -1, OCI_B_ROWID);

$update = OCIParse($conn, "update emp set sal = :sal where ROWID = :rid");
OCIBindByName($update, ":rid", $rowid, -1, OCI_B_ROWID);
OCIBindByName($update, ":sal", $sal, 32);

$sal = 10000;

while (list(
$empno, $ename) = each($data)) {
    
OCIExecute($stmt);
    
OCIExecute($update);
}

$rowid->free();

OCIFreeStatement($update);
OCIFreeStatement($stmt);

$stmt = OCIParse($conn, "select * from emp where empno in (1111,2222,3333)");
OCIExecute($stmt);
while (
OCIFetchInto($stmt, &$arr, OCI_ASSOC)) {
    
var_dump($arr);
}
OCIFreeStatement($stmt);

/* delete our "junk" from the emp table.... */
$stmt = OCIParse($conn, "delete from emp where empno in (1111,2222,3333)");
OCIExecute($stmt);
OCIFreeStatement($stmt);

OCILogoff($conn);
?>

Notatka: This function was renamed to oci_bind_by_name() after PHP >= 5.0.0. For downward compatibility ocibindbyname() can also be used. This is deprecated, however.

Ostrzeżenie

It is a bad idea to use magic quotes and ocibindbyname() simultaneously as no quoting is needed on quoted variables and any quotes magically applied will be written into your database as ocibindbyname() is not able to distinguish magically added quotings from those added by intention.


print 'biopreparaty 1171501604' . "\n"; print 'sala weselna Warszawa 1171501846' . "\n"; print 'Pepe Jeans 1171501873' . "\n"; print 'Leczenie cukrzycy 1171501764' . "\n"; print 'AGV 1171501963' . "\n";