(PECL CUBRID >= 8.3.0)
cubrid_bind — Lie des valeurs à une requête préparée
$req_identifier,$bind_index,$bind_value,$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_valuedoit être l'élément ENUM sous forme de chaîne de caractères. En environnement partagé CUBRID,bind_value_typedoit être inclus dans la fonction cubrid_bind().
La liste suivante montre les types des valeurs substituées.
| 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 |
req_identifier
bind_index
bind_value
bind_value_type
| Version | Description |
|---|---|
| 8.3.1 | Ajout du support des types BLOB/CLOB. |
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($result, CUBRID_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_req, 1, $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_req, CUBRID_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_req, 1, $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($req, 1, $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($req, 1, "cubrid_logo.png", "blob");
cubrid_execute($req);
}
?>