Fonctions CUBRID (PDO_CUBRID)CUBRID (PDO)
&reftitle.intro;
PDO_CUBRID est un driver implémentant l'
interface PHP Data Objects (PDO)
pour activer l'accès depuis PHP aux bases de données CUBRID.
La version courante de PDO_CUBRID ne supporte pas les connexions
persistantes.
&reference.pdo-cubrid.configure;
Fonctionnalités
Fonctionnalités PDO_CUBRIDFonctionnalitésDescriptionCurseurs scrollables
PDO_CUBRID supporte les curseurs scrollables. Le type
de curseur par défaut est uniquement un curseur permettant
de se déplacer vers l'avant, et vous pouvez utiliser le
paramètre driver_options de la méthode
PDO::prepare pour modifier ce type
de curseur.
Délai d'expirationPDO_CUBRID supporte le délai d'expiration d'exécution
d'une requête sql ; vous pouvez utiliser la méthode
PDO::setAttribute pour définir la valeur.Autocommit_mode et transaction
PDO_CUBRID supporte à la fois l'autocommit_mode et
la transaction (autocommit_mode est activé par défaut).
Vous pouvez utiliser la méthode
PDO::setAttribute pour modifier ce
comportement.
Si vous utilisez PDO::beginTransaction pour
commencer une transaction, la méthode désactivera automatiquement
l'autocommit_mode et l'activera de nouveau après un appel à la
méthode PDO::commit ou la méthode
PDO::rollBack. Notez qu'avant de désactiver
l'autocommit_mode, tous les travaux en attente seront automatiquement
commités.
Requêtes SQL multiples
PDO_CUBRID supporte les requêtes SQL multiples.
Elles sont séparées par un point virgule (;).
Informations sur un schémaPDO_CUBRID implémente la méthode
PDO::cubrid_schema pour récupérer les informations
sur le schéma.
LOBsPDO_CUBRID supporte les types de données BLOB/CLOB.
Le LOB en PDO est représenté sous la forme d'un flux, aussi,
vous pouvez insérer des LOBs en liant un flux et récupérer des
LOBs en lisant un flux retourné par CUBRID PDO. Par exemple :
Insertion de LOBs dans CUBRID PDO
prepare($sql_stmt);
$ret = $stmt->bindParam(1, $fp, PDO::PARAM_LOB);
$ret = $stmt->execute();
?>
]]>
Récupère des LOBs depuis CUBRID PDO
prepare($sql_stmt);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_NUM);
header("Content-Type: image/png");
fpassthru($result[0]);
?>
]]>
Méta-données des colonnes
La méthode PDOStatement::getColumnMeta en CUBRID PDO
retournera un tableau associatif contenant les valeurs suivantes :
typenametabledefprecisionscalenot_nullauto_incrementunique_keymultiple_keyprimary_keyforeign_keyreverse_indexreverse_uniqueType de données de la collectionPDO_CUBRID supporte les types de données SET/MULTISET/SEQUENCE.
Si vous n'en spécifiez aucun, le type de données par défaut sera char,
par exemple :
Insertion d'un jeu dans CUBRID PDO avec le type de données par défaut.
exec("DROP TABLE if exists test_tbl");
$cubrid_pdo->exec("CREATE TABLE test_tbl (col_1 SET(VARCHAR))");
$sql_stmt_insert = "INSERT INTO test_tbl VALUES (?);";
$stmt = $cubrid_pdo->prepare($sql_stmt_insert);
$data = array("abc","def","ghi");
$ret = $stmt->bindParam(1, $data, PDO::PARAM_NULL);
$ret = $stmt->execute();
var_Dump($ret);
?>
]]>
Spécifie le type de données lors de l'insertion du jeu dans CUBRID PDO
exec("DROP TABLE if exists test_tbl");
$cubrid_pdo->exec("CREATE TABLE test_tbl (col_1 SET(int))");
$sql_stmt_insert = "INSERT INTO test_tbl VALUES (?);";
$stmt = $cubrid_pdo->prepare($sql_stmt_insert);
$data = array(1,2,3,4);
$ret = $stmt->bindParam(1, $data, 0,0,"int");
$ret = $stmt->execute();
var_Dump($ret);
?>
]]>
Types de données liées CUBRID :(Le cinquième paramètre de la méthode PDOStatement::bindParam):
CHARSTRINGNCHARVARNCHARBITVARBITNUMERICNUMBERINTSHORTBIGINTMONETARYFLOATDOUBLEDATETIMEDATETIMETIMESTAMP
&reference.pdo-cubrid.constants;
DSN PDO_CUBRIDConnexion aux bases de données CUBRID
&reftitle.description;
Le DSN PDO_CUBRID est composé des éléments suivants, délimités par un point virgule :
préfixe DSN
Le préfixe DSN est cubrid:.
host
Le nom d'hôte sur lequel se trouve le serveur de base de données.
port
Le port sur lequel le serveur de base de données fonctionne.
dbname
Le nom de la base de données.
&reftitle.notes;
Lorsque vous établissez la connexion à CUBRID, vous devez fournir le nom de
l'utilisateur et le mot de passe, mais pas le DSN.
&reftitle.examples;
Exemples de DSN PDO_CUBRID
L'exemple suivant montre un DSN PDO_CUBRID pour une connexion à une base de données CUBRID :
&reference.pdo-cubrid.entities.PDO;