PHP Unconference Europe 2015

cubrid_bind

(PECL CUBRID >= 8.3.0)

cubrid_bindLie des valeurs à une requête préparée

Description

bool cubrid_bind ( resource $req_identifier , int $bind_index , mixed $bind_value [, string $bind_value_type ] )

La fonction cubrid_bind() est utilisée pour lier les valeurs à un marqueur correspondant, nommé ou non d'une requête SQL qui a été passée à la fonction cubrid_prepare(). Si le paramètre bind_value_type n'est pas fourni, le type chaîne de caractères sera le type par défaut.

Note:

Si le type de données à lier est BLOB/CLOB, CUBRID tentera de lier les données comme un flux PHP. Si le type de la valeur à lier n'est pas un flux, CUBRID la convertira en chaîne, et l'utilisera comme chemin complet et nom de fichier sur le système de fichiers client.

Si le type de données à lier explicitement est ENUM, l'argument $bind_value doit être l'élément ENUM sous forme de chaîne de caractères.

En environnement partagé CUBRID, $bind_value_type doit être inclus dans la fonction cubrid_bind.

La liste suivante montre les types des valeurs substituées.

Types de données liées CUBRID
Support Type de liage Type correspondant SQL
Supporté STRING CHAR, VARCHAR
  NCHAR NCHAR, NVARCHAR
  BIT BIT, VARBIT
  NUMERIC or NUMBER SHORT, INT, NUMERIC
  FLOAT FLOAT
  DOUBLE DOUBLE
  TIME TIME
  DATE DATE
  TIMESTAMP TIMESTAMP
  OBJECT OBJECT
  ENUM ENUM
  BLOB BLOB
  CLOB CLOB
  NULL NULL
Not supported SET SET
  MULTISET MULTISET
  SEQUENCE SEQUENCE

Liste de paramètres

req_identifier

Identifiant de requête, retourné par la fonction cubrid_prepare().

bind_index

Position des paramètres liés. Commence avec 1.

bind_value

Valeur actuelle à lier.

bind_value_type

Un type de valeur à lier (il est omis par défaut et en interne, le type chaîne de caractères sera utilisé. Cependant, vous devez spécifier le type exact de la valeur comme argument lorsque vous utilisez NCHAR, BIT, ou BLOB/CLOB).

Valeurs de retour

TRUE, lorsque l'opération a été réalisée avec succès.

FALSE, lorsque l'opération a échoué.

Historique

Version Description
8.3.1 Ajout du support des types BLOB/CLOB.

Exemples

Exemple #1 Exemple avec cubrid_bind()

<?php
$conn 
cubrid_connect("localhost"33000"demodb""dba");

$result cubrid_execute($conn"SELECT code FROM event WHERE sports='Basketball' and gender='M'");
$row cubrid_fetch_array($resultCUBRID_ASSOC);
$event_code $row["code"];

cubrid_close_request($result);

$game_req cubrid_prepare($conn"SELECT athlete_code FROM game WHERE host_year=1992 and event_code=? and nation_code='USA'");
cubrid_bind($game_req1$event_code"number");
cubrid_execute($game_req);

printf("--- Dream Team (1992 United States men's Olympic basketball team) ---\n");
while (
$athlete_code cubrid_fetch_array($game_reqCUBRID_NUM)) {
    
$athlete_req cubrid_prepare($conn"SELECT name FROM athlete WHERE code=? AND nation_code='USA' AND event='Basketball' AND gender='M'");
    
cubrid_bind($athlete_req1$athlete_code[0], "number");
    
cubrid_execute($athlete_req);
    
$row cubrid_fetch_assoc($athlete_req);
    
printf("%s\n"$row["name"]);
}

cubrid_close_request($game_req);
cubrid_close_request($athlete_req);

cubrid_disconnect($conn);
?>

L'exemple ci-dessus va afficher :

--- Dream Team (1992 United States men's Olympic basketball team) ---
Stockton John
Robinson David
Pippen Scottie
Mullin C.
Malone Karl
Laettner C.
Jordan Michael
Johnson Earvin
Ewing Patrick
Drexler Clyde
Bird Larry
Barkley Charles

Exemple #2 Exemple avec cubrid_bind() et les types BLOB/CLOB

<?php
$con 
cubrid_connect("localhost"33000"demodb""dba""");
if (
$con) {
    
cubrid_execute($con,"DROP TABLE if exists php_cubrid_lob_test");
    
cubrid_execute($con,"CREATE TABLE php_cubrid_lob_test (doc_content CLOB)");
    
$sql "INSERT INTO php_cubrid_lob_test(doc_content) VALUES(?)"
    
$req cubrid_prepare($con$sql); 

    
$fp fopen("book.txt""rb");

    
cubrid_bind($req1$fp"clob");
    
cubrid_execute($req);  
}
?>

Exemple #3 Exemple avec cubrid_bind() et BLOB/CLOB

<?php
$con 
cubrid_connect("localhost"33000"demodb""dba""");
if (
$con) {
    
cubrid_execute($con,"DROP TABLE if exists php_cubrid_lob_test");
    
cubrid_execute($con,"CREATE TABLE php_cubrid_lob_test (image BLOB)");
    
$sql "INSERT INTO php_cubrid_lob_test(image) VALUES(?)";
    
$req cubrid_prepare($con$sql);

    
cubrid_bind($req1"cubrid_logo.png""blob");
    
cubrid_execute($req);  
}
?>

Voir aussi

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top