pg_port
<<<
pg_prepare pg_put_line
>>>

6.31 PostgreSQL
6 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

6.31.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"));

?>

<< pg_prepare >>
pg_port PostgreSQL pg_put_line