8.103 PostgreSQL
8 Référence des fonctions
Manuel PHP
. Introduction . Pré-requis . Installation . Configuration à l'exécution . Types de ressources . Constantes pré-définies . Notes . Exemples . pg_affected_rows . pg_cancel_query . pg_client_encoding . pg_close . pg_connect . pg_connection_busy . pg_connection_reset . pg_connection_status . pg_convert . pg_copy_from . pg_copy_to . pg_dbname . pg_delete . pg_end_copy . pg_escape_bytea . pg_escape_string . pg_execute . pg_fetch_all_columns . pg_fetch_all . pg_fetch_array . pg_fetch_assoc . pg_fetch_object . pg_fetch_result . pg_fetch_row . pg_field_is_null . pg_field_name . pg_field_num . pg_field_prtlen . pg_field_size . pg_field_type_oid . pg_field_type . pg_free_result . pg_get_notify . pg_get_pid . pg_get_result . pg_host . pg_insert . pg_last_error . pg_last_notice . pg_last_oid . pg_lo_close . pg_lo_create . pg_lo_export . pg_lo_import . pg_lo_open . pg_lo_read_all . pg_lo_read . pg_lo_seek . pg_lo_tell . pg_lo_unlink . pg_lo_write . pg_meta_data . pg_num_fields . pg_num_rows . pg_options . pg_parameter_status . pg_pconnect . pg_ping . pg_port ->pg_prepare . pg_put_line . pg_query_params . pg_query . pg_result_error_field . pg_result_error . pg_result_seek . pg_result_status . pg_select . pg_send_execute . pg_send_prepare . pg_send_query_params . pg_send_query . pg_set_client_encoding . pg_set_error_verbosity . pg_trace . pg_transaction_status . pg_tty . pg_unescape_bytea . pg_untrace . pg_update . pg_version
|
8.103.68 pg_prepare()
Envoie une requête pour créer une requête préparée avec les paramètres
donnés et attend l'exécution
[ Exemples avec pg_prepare ] PHP 5 >= 5.1.0RC1
resource
pg_prepare (
resource
connection
,
string
stmtname
,
string
query
)
resource
pg_prepare (
string
stmtname
,
string
query
)
pg_prepare
crée une requête préparée pour une
exécution ultérieure avec
pg_execute
ou
pg_send_execute
.
Cette caractéristique permet aux commandes qui seront utilisées à
plusieurs reprises d'être analysées et planifiées qu'une seule fois,
plutôt que d'être exécutées chaque fois.
pg_prepare
est supportée seulement avec les versions
PostgreSQL 7.4 ou plus récentes; la commande échouera si vous l'utilisez
avec des versions antérieures.
La fonction crée une requête préparée nommée
stmtname
à partir de la chaîne
query
, celle-ci doit contenir qu'une seule commande
SQL.
stmtname
peut être vide ("") pour créer une
requête qui n'est pas nommée. Dans ce cas, les requêtes qui existaient et
qui se trouvaient sans noms sont automatiquement remplacées; autrement, il y
aura une erreur si le nom de la requête est déjà défini dans la session
courante. Si des paramètres sont utilisés, ils sont référés à $1, $2, etc.
dans
query
.
Des requêtes préparées à utiliser avec
pg_prepare
peuvent être aussi créées en exécutant la requête SQL
PREPARE
. (Par contre,
pg_prepare
est plus flexible puisqu'elle ne nécessite pas que les types des paramètres
soit pré-spécifiés.) De plus, bien qu'il n'y a pas de fonction PHP pour
supprimer une requête préparée, la requête SQL
DEALLOCATE
peut être utilisé pour ce motif.
-
connection
-
La ressource de connexion de la base de données PostgreSQL. Lorsque
connection
n'est pas présent, la connexion par
défaut est utilisée. La connexion par défaut est la dernière connexion
faite par
pg_connect
ou
pg_pconnect
.
-
stmtname
-
Le nom à donner à la requête préparée. Il doit être unique à chaque
session. Si une chaîne vide est spécifiée ("") alors une requête sans
nom est créée, écrasant les requêtes sans noms précédemment définies.
-
query
-
La requête SQL paramétrisée. Elle doit contenir seulement une seule
requête. (Plusieurs requêtes séparées par des points-virgules ne sont
pas autorisées.) Si des paramètres sont utilisés, ils sont référés à
$1, $2, etc.
Une ressource de résultats en cas de succès ou
FALSE
en cas d'échec.
| Exemple avec pg_prepare |
<?php // Connexion à une base de données nommée "marie" $dbconn = pg_connect("dbname=marie");
// Prépare une requête pour l'exécution $result = pg_prepare($dbconn, "my_query", 'SELECT * FROM magasins WHERE nom = $1');
// Exécute la requête préparée. Notez qu'il n'est pas nécessaire d'échapper // la chaîne "Joe's Widgets" $result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));
// Exécute la même requête préparée, cette fois avec un paramètre différent $result = pg_execute($dbconn, "my_query", array("Vêtements Vêtements Vêtements"));
?>
|
|