(PECL CUBRID >= 8.3.0)
cubrid_execute — Exécute une requête SQL préparée
La fonction cubrid_execute() est utilisée pour exécuter une requête SQL. Elle exécute la requête en utilisant le paramètre conn_identifier
et SQL, puis, retourne l'identifiant de requête créé. Elle est utilisée pour une exécution simple de requête, où le liage de paramètre n'est pas nécessaire. De plus, la fonction cubrid_execute() est utilisée pour exécuter la requête préparée en utilisant cubrid_prepare() et cubrid_bind(). À ce point, vous devez spécifier les arguments request_identifier
et option
.
L'option
est utilisé pour déterminer si l'on doit récupérer l'IOD après l'exécution de la requête, et si l'on doit exécuter la requête en mode asynchrone ou non. CUBRID_INCLUDE_OID
et CUBRID_ASYNC
(ou CUBRID_EXEC_QUERY_ALL
si vous voulez exécuter plusieurs requêtes SQL) peuvent être spécifiés en utilisant l'opérateur OR. Si l'opérateur n'est pas spécifié, aucun des deux ne sera sélectionné. Si le drapeau CUBRID_EXEC_QUERY_ALL
est défini, le mode synchrone (sync_mode) sera utilisé pour récupérer les résultats de la requête, et dans un tel cas, les règles suivantes seront appliquées :
Si le premier paramètre est request_identifier
pour exécuter la fonction cubrid_prepare(), vous pouvez spécifier une option, CUBRID_ASYNC
uniquement.
conn_identifier
Identifiant de connexion.
sql
SQL à exécuter.
option
Option d'exécution de la requête : CUBRID_INCLUDE_OID
, CUBRID_ASYNC
, CUBRID_EXEC_QUERY_ALL
.
request_identifier
Identifiant de requête pour la fonction cubrid_prepare().
Un identifiant de requête, lorsque l'opération a été réalisée avec succès et que le premier paramètre est l'identifiant de connexion ; true
, lorsque l'opération a été réalisée avec succès et que le premier paramètre est l'identifiant de requête, ou false
si une erreur survient.
Version | Description |
---|---|
8.4.0 | Ajout d'une nouvelle option : CUBRID_EXEC_QUERY_ALL . |
Exemple #1 Exemple avec cubrid_execute()
<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT code FROM event WHERE name='100m Butterfly' and gender='M'", CUBRID_ASYNC);
$row = cubrid_fetch_array($result, CUBRID_ASSOC);
$event_code = $row["code"];
cubrid_close_request($result);
$history_req = cubrid_prepare($conn, "SELECT * FROM history WHERE event_code=?");
cubrid_bind($history_req, 1, $event_code, "number");
cubrid_execute($history_req);
printf("%-20s %-9s %-10s %-5s\n", "athlete", "host_year", "score", "unit");
while ($row = cubrid_fetch_array($history_req, CUBRID_ASSOC)) {
printf("%-20s %-9s %-10s %-5s\n",
$row["athlete"], $row["host_year"], $row["score"], $row["unit"]);
}
cubrid_close_request($history_req);
cubrid_disconnect($conn);
?>
L'exemple ci-dessus va afficher :
athlete host_year score unit Phelps Michael 2004 51.25 time