П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 178808 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 76547 раз(а).

Учебник HTML.
Просмотров 74598 раз(а).

Руководство по PHP5.
Просмотров 45599 раз(а).

Хостинг через призму DNS.
Просмотров 52598 раз(а).

Подборка текстов стандартных документов.
Просмотров 45628 раз(а).

Учебник PHP - Самоучитель
Просмотров 51829 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 52325 раз(а).

Внешние атаки...
Просмотров 42364 раз(а).

Учебник PHP.
Просмотров 37784 раз(а).

SSI в примерах.
Просмотров 28124 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Руководство по PHP
Пред. След.

oci_new_descriptor

(PHP 5)

oci_new_descriptor -- Инициализирует новый дескриптор объекта LOB или FILE

Описание

object oci_new_descriptor ( resource connection [, int type] )

oci_new_descriptor() выделяет ресурсы, необходимые для хранения дескриптора объекта. Аргумент type может принимать следующие значения: OCI_D_FILE, OCI_D_LOB или OCI_D_ROWID.

Пример 1. Пример использования oci_new_descriptor()

<?php   
    
/* This script is designed to be called from a HTML form.
     * It expects $user, $password, $table, $where, and $commitsize
     * to be passed in from the form.  The script then deletes
     * the selected rows using the ROWID and commits after each
     * set of $commitsize rows. (Use with care, there is no rollback)
     */
    
$conn = oci_connect($user, $password);
    
$stmt = oci_parse($conn, "select rowid from $table $where");
    
$rowid = oci_new_descriptor($conn, OCI_D_ROWID);
    
oci_define_by_name($stmt, "ROWID", $rowid);   
    
oci_execute($stmt);
    while (
oci_fetch($stmt)) {
       
$nrows = oci_num_rows($stmt);
       
$delete = oci_parse($conn, "delete from $table where ROWID = :rid");
       
oci_bind_by_name($delete, ":rid", $rowid, -1, OCI_B_ROWID);
       
oci_execute($delete);      
       echo
"$nrows\n";
       if ((
$nrows % $commitsize) == 0) {
           
oci_commit($conn);      
       }   
    }
    
$nrows = oci_num_rows($stmt);   
    echo
"$nrows deleted...\n";
    
oci_free_statement($stmt);  
    
oci_close($conn);
?>
<?php
    
/* This script demonstrates file upload to LOB columns
     * The formfield used for this example looks like this
     * <form action="upload.php" method="post" enctype="multipart/form-data">
     * <input type="file" name="lob_upload" />
     * ...
     */
  
if (!isset($lob_upload) || $lob_upload == 'none'){
?>
<form action="upload.php" method="post" enctype="multipart/form-data">
Upload file: <input type="file" name="lob_upload" /><br />
<input type="submit" value="Upload" /> - <input type="reset" value="Reset" />
</form>
<?php
  
} else {

     
// $lob_upload contains the temporary filename of the uploaded file

     // see also the features section on file upload,
     // if you would like to use secure uploads
     
     
$conn = oci_connect($user, $password);
     
$lob = oci_new_descriptor($conn, OCI_D_LOB);
     
$stmt = oci_parse($conn, "insert into $table (id, the_blob)
               values(my_seq.NEXTVAL, EMPTY_BLOB()) returning the_blob into :the_blob"
);
     
oci_bind_by_name($stmt, ':the_blob', &$lob, -1, OCI_B_BLOB);
     
oci_execute($stmt, OCI_DEFAULT);
     if (
$lob->savefile($lob_upload)){
        
oci_execute($conn);
        echo
"Blob successfully uploaded\n";
     }else{
        echo
"Couldn't upload Blob\n";
     }
     
oci_free_descriptor($lob);
     
oci_free_statement($stmt);
     
oci_close($conn);
  }
?>

Пример 2. Второй пример использования oci_new_descriptor()

<?php   
    
/* Calling PL/SQL stored procedures which contain clobs as input
     * parameters (PHP 4 >= 4.0.6).
     * Example PL/SQL stored procedure signature is:
     *
     * PROCEDURE save_data
     *   Argument Name                  Type                    In/Out Default?
     *   ------------------------------ ----------------------- ------ --------
     *   KEY                            NUMBER(38)              IN
     *   DATA                           CLOB                    IN
     *
     */

    
$conn = oci_connect($user, $password);
    
$stmt = oci_parse($conn, "begin save_data(:key, :data); end;");
    
$clob = oci_new_descriptor($conn, OCI_D_LOB);
    
oci_bind_by_name($stmt, ':key', $key);
    
oci_bind_by_name($stmt, ':data', $clob, -1, OCI_B_CLOB);
    
$clob->write($data);
    
oci_execute($stmt, OCI_DEFAULT);
    
oci_commit($conn);
    
$clob->free();
    
oci_free_statement($stmt);
?>

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

oci_new_descriptor() вернет FALSE в случае ошибки.



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru