oci_bind_by_name
(PHP 5)
oci_bind_by_name --
оПХБЪГШБЮЕР ОЕПЕЛЕММСЧ PHP Й ЯННРБЕРЯРБСЧЫЕИ ЛЕРЙЕ Б SQL-БШПЮФЕМХХ.
нОХЯЮМХЕ
bool
oci_bind_by_name ( resource stmt, string ph_name, mixed &variable [, int maxlength [, int type]])
oci_bind_by_name() ОПХБЪГШБЮЕР ОЕПЕЛЕММСЧ
variable Й ЛЕРЙЕ ph_name.
аСДЕР КХ НМЮ ХЯОНКЭГНБЮРЭЯЪ ДКЪ БШБНДЮ ХКХ ББНДЮ - БШЪЯМХРЯЪ Б ОПНЖЕЯЯЕ
БШОНКМЕМХЪ Х МЕНАУНДХЛШЕ ПЕЯСПЯШ АСДСР БШДЕКЕМШ ОН МЕНАУНДХЛНЯРХ.
оЮПЮЛЕРП length СЯРЮМЮБКХБЮЕР ЛЮЙЯХЛЮКЭМШИ НАЗЕЛ
Б АЮИРЮУ ОНКСВЮЕЛНИ ОЕПЕЛЕММНИ. еЯКХ ОЮПЮЛЕРП length
ПЮБЕМ -1, РН oci_bind_by_name() АСДЕР ХЯОНКЭГНБЮРЭ
РЕЙСЫСЧ ДКХМС variable ЙЮЙ ЛЮЙЯХЛЮКЭМСЧ.
еЯКХ БШ УНРХРЕ ОПХБЪГЮРЭ ЮАЯРПЮЙРМШИ РХО ДЮММШУ (LOB/ROWID/BFILE), РН
БЮЛ МЕНАУНДХЛН ЯМЮВЮКЮ ЯНГДЮРЭ ДЕЯЙПХОРНП Я ОНЛНЫЭЧ
oci_new_descriptor(). оЮПЮЛЕРП
length МЕ ХЯОНКЭГСЕРЯЪ Я ЮАЯРПЮЙРМШЛХ РХОЮЛХ
ДЮММШУ Х ДНКФЕМ АШРЭ ПЮБЕМ -1. оЮПЮЛЕРП type
ЦНБНПХР Oracle, ЙЮЙНИ РХО ДЕЯЙПХОРНПЮ ЛШ УНРХЛ ХЯОНКЭГНБЮРЭ. бНГЛНФМШЕ
ГМЮВЕМХЪ ЩРНЦН ОЮПЮЛЕРПЮ:
OCI_B_FILE - ДКЪ BFILE;
OCI_B_CFILE - ДКЪ CFILE;
OCI_B_CLOB - ДКЪ CLOB;
OCI_B_BLOB - ДКЪ BLOB;
OCI_B_ROWID - ДКЪ ROWID;
OCI_B_NTY - ДКЪ ХЛЕМНБЮММШУ РХОНБ ДЮММШУ;
OCI_B_CURSOR - ДКЪ ЙСПЯНПНБ, ЯНГДЮММШУ ПЮМЕЕ Я
ОНЛНЫЭЧ oci_new_cursor().
Пример 1. оПХЛЕП ХЯОНКЭГНБЮМХЪ oci_bind_by_name()
<?php /* oci_bind_by_name 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 = oci_connect("scott", "tiger");
$stmt = oci_parse($conn, " INSERT INTO emp (empno, ename) VALUES (:empno,:ename) RETURNING ROWID INTO :rid ");
$data = array( 1111 => "Larry", 2222 => "Bill", 3333 => "Jim" );
$rowid = oci_new_descriptor($conn, OCI_D_ROWID);
oci_bind_by_name($stmt, ":empno", $empno, 32); oci_bind_by_name($stmt, ":ename", $ename, 32); oci_bind_by_name($stmt, ":rid", $rowid, -1, OCI_B_ROWID);
$update = oci_parse($conn, " UPDATE emp SET sal = :sal WHERE ROWID = :rid "); oci_bind_by_name($update, ":rid", $rowid, -1, OCI_B_ROWID); oci_bind_by_name($update, ":sal", $sal, 32);
$sal = 10000;
while (list($empno, $ename) = each($data)) { oci_execute($stmt); oci_execute($update); }
$rowid->free();
oci_free_statement($update); oci_free_statement($stmt);
$stmt = oci_parse($conn, " SELECT * FROM emp WHERE empno IN (1111,2222,3333) "); oci_execute($stmt); while ($row = oci_fetch_assoc($stmt)) { var_dump($row); }
oci_free_statement($stmt);
/* delete our "junk" from the emp table.... */ $stmt = oci_parse($conn, " DELETE FROM emp WHERE empno IN (1111,2222,3333) "); oci_execute($stmt); oci_free_statement($stmt);
oci_close($conn); ?>
|
|
оНЛМХРЕ Н РНЛ, ВРН ОПХ ХЯОНКЭГНБЮМХХ ЩРНИ ТСМЙЖХХ, ЙНМЕВМШЕ ОПНАЕКШ С
ЯРПНЙХ АСДСР НАПЕГЮМШ. яЛНРПХРЕ ЯКЕДСЧЫХИ ОПХЛЕП:
Пример 2. оПХЛЕП oci_bind_by_name()
<?php $connection = oci_connect('apelsin','kanistra'); $query = "INSERT INTO test_table VALUES(:id, :text)";
$statement = oci_parse($query); oci_bind_by_name($statement, ":id", 1); oci_bind_by_name($statement, ":text", "trailing spaces follow "); oci_execute($statement); /* щРНР ЙНД ДНАЮБХР Б АЮГС РНКЭЙН ЯРПНЙС 'trailing spaces follow', АЕГ ОПНАЕКНБ Б ЙНМЖЕ ЯРПНЙХ */ ?>
|
|
Пример 3. оПХЛЕП oci_bind_by_name()
<?php $connection = oci_connect('apelsin','kanistra'); $query = "INSERT INTO test_table VALUES(:id, 'trailing spaces follow ')";
$statement = oci_parse($query); oci_bind_by_name($statement, ":id", 1); oci_execute($statement); /* ю ЩРНР ЙНД ДНАЮБХР Б АЮГС ЯРПНЙС 'trailing spaces follow ' БЛЕЯРЕ Я ОПНАЕКЮЛХ Б ЙНМЖЕ ЯРПНЙХ */ ?>
|
|
Внимание |
хЯОНКЭГНБЮРЭ magic_quotes_gpc,
magic_quotes_runtime ХКХ
addslashes() БЛЕЯРЕ Я oci_bind_by_name()
- ЩРН НОПЕДЕКЕММН ОКНУЮЪ ХДЕЪ, Р.Й. Б ЩРХУ ЯКСВЮЪУ ЙЮБШВЙХ АСДСР
ГЮОХЯЮМШ Б АЮГС БЛЕЯРЕ Я ДЮММШЛХ. oci_bind_by_name()
МЕ ЛНФЕР НРКХВХРЭ "ЛЮЦХВЕЯЙХЕ ЙЮБШВЙХ" НР РЕУ, ВРН АШКХ ДНАЮБКЕМШ
МЮЛЕПЕММН.
|
бНГБПЮЫЮЕР TRUE Б ЯКСВЮЕ СЯОЕЬМНЦН ГЮБЕПЬЕМХЪ, FALSE Б ЯКСВЮЕ БНГМХЙМНБЕМХЪ НЬХАЙХ.
HIVE: All information for read only. Please respect copyright! |