PHP-Fusion
v.7.01
AP-Fusion
v7.02.03
Pimped-Fusion-AP
v0.09.03
февраля 12 2012 01:35:57
Навигация
· Новости
· Статьи
· Скачать
· Форум
· Ссылки
· Категории новостей
· Обратная связь
· Галерея
· Поиск
· Гостевая
· Коллекция аватар
· CMS AP-Fusion. Отличия от PHP-Fusion
· Javascript справочник
· Разное
Сейчас на сайте
· Гостей: 3

· Пользователей: 0

· Всего пользователей: 441
· Новый пользователь: yak21
Информеры
Загрузка файлов  +  -
Бытовая техника:  +  
Лента alipapa.ru
Карпаты. Верховина.
Карпаты. Драгобрат.
Карпаты. Яремче, Яблунецкий перевал.
dbForge Studio for MySQL вместо PHPMyAdmin
Облачные технологии - насколько это серьезно?
Как распределяется вес по сайту

Совместимость CMS
Solomono.ru - сервис для веб-мастера
Микроразметка веб-страниц.
АГС - не приговор.

Немного о политике.
Что такое АГС и как с ним бороться?
Долгожданный АП PR

PR Google: 9 месяцев без апдейта
Поведенческий фактор - модная тенденция?
Wi-Fi дома. Что делать, если 192.168.0.1 занято?

Ускоренная переиндексация страниц в Яндексе
Как я ставил винду на нетбук.
ROOKEE - инструмент оптимизатора.
Строим рейтинг-каталог
Ссылки  +  -
Блоги
Alipapa
» Блог Алипапы
lom
» Блог Лома
Последние активные темы форума
  Темы Просмотров Ответов Последние сообщения
Pimped-Fusion. Первые впеча...
Ошибки, баги, глюки
1768 83 Alipapa
10-02-2012 19:36
Произвольные Title на любой...
Вопросы по работе
47 1 Alipapa
07-02-2012 14:28
Мультикатегории в новостях
Моды, плагины
249 8 Alipapa
28-01-2012 00:47
AP-Fusion 7.02
Вопросы по работе
2729 29 Alipapa
18-01-2012 17:59
Расширенный каталог статей.
Моды, плагины
12122 167 Alipapa
14-12-2011 23:32

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() не может отличить "магические кавычки" от тех, что были добавлены намеренно.

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ocinewcollection(). В PHP 5.0.0 и выше ocinewcollection() является алиасом oci_new_collection(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Все функции PHP:
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Мини-чат
Вы должны авторизироваться, чтобы добавить сообщение.

04/02/2012 09:08
Еще раз прошу всех. Если вопрос не личный, пишите в форум. В личке, аське, скайпе, мейле и т.д. не консультирую




14/01/2012 18:45
avisei, пиши в форум, а не шли мне личные посланья

31/12/2011 16:01
С праздником Нового Года! Успехов, счастья, богатства!


08/12/2011 16:13
MySQL нужен. Инструкция вот: [url]http://ap-fus
ion.ru/downloads.p
hp?download_id=58[
/url]

08/12/2011 16:03
Я канеш дико извиняюсь, но где на этом сайте статья по установке fusion, нужен ему MySql или нет? Smile


07/12/2011 11:03
ОК)

07/12/2011 11:02
этот - для 7.0

07/12/2011 11:00
Я устанавливаю, как в инструкции. Куча ошибок. Не могу сделать upgrade!

07/12/2011 10:56
Для какой стандартной подходит, для такой же и ap-fusion подойдет


07/12/2011 10:54
Для какой версии AP-FUSION подходит "extended-do
wnloads
"? Shock

24/10/2011 20:48
Валиор, я не поленился и проверил еще раз - в трех файлах этот фрагмент есть, в одном из них - дважды. Так что я не ошибся, это Вы так искали.

24/10/2011 16:06
Ну Вам удалось, значит в принципе возможно. А вообще не рекомендую, но если очень хочется, придется смириться с некоторыми неудобствами. На этом сайте поддержка реализована частично.







24/10/2011 16:05
Возможно ли регистрировать кирилические ники? В письме с регистрацией не указан логин.


Ограды и ограждения из металла: ограждение.
21/10/2011 17:03
Занимаюсь. Локаль в порядок привожу. Сегодня или завтра что-нибудь выложу.



20/10/2011 16:09
да бог с ним, ты лучше пимпедом займись, а я не буду в этой сборке использовать основной каталог.



18/10/2011 21:54
Papich, плагин проверю обязательно, мб неисправленный в сборку поставил


22/09/2011 20:47
http://tools.dynam
icdrive.com/favico
n/ - фавиконка быстро и удобно

12/08/2011 21:09
Потому что не осознали еще всего того удобства, что он предоставляет.


10/08/2011 10:20
Почему никого не интересует мой новый чат?

13/06/2011 12:13
Самому не нравится. Пробовал по всякому. Вдобавок ещё и таблицу обрезает, остаётся процентов 40. http://www.cqham.s
umy.ua/viewpage.ph
p?page_id=44 - вариант вставки таблицы




Анонс
Последние статьи
· СМС и Вебмани
· TinyMCE для пользова...
· PCRE (Perl Compatibl...
· PCRE (Perl Compatibl...
· 510
4,252,469 уникальных посетителей Iceberg by Harly