8.66 MaxDB PHP Extension
8 Référence des fonctions
Manuel PHP
. Introduction . Pré-requis . Installation . Configuration à l'exécution . Classes pré-définies . Constantes pré-définies . Exemples . maxdb_affected_rows . maxdb_autocommit . maxdb_bind_param . maxdb_bind_result . maxdb_change_user . maxdb_character_set_name . maxdb_client_encoding . maxdb_close_long_data . maxdb_close . maxdb_commit . maxdb_connect_errno . maxdb_connect_error . maxdb_connect . maxdb_data_seek . maxdb_debug . maxdb_disable_reads_from_master . maxdb_disable_rpl_parse . maxdb_dump_debug_info . maxdb_embedded_connect . maxdb_enable_reads_from_master . maxdb_enable_rpl_parse . maxdb_errno . maxdb_error . maxdb_escape_string . maxdb_execute . maxdb_fetch_array . maxdb_fetch_assoc . maxdb_fetch_field_direct . maxdb_fetch_field . maxdb_fetch_fields . maxdb_fetch_lengths . maxdb_fetch_object . maxdb_fetch_row . maxdb_fetch . maxdb_field_count . maxdb_field_seek . maxdb_field_tell . maxdb_free_result . maxdb_get_client_info . maxdb_get_client_version . maxdb_get_host_info . maxdb_get_metadata . maxdb_get_proto_info . maxdb_get_server_info . maxdb_get_server_version . maxdb_info . maxdb_init . maxdb_insert_id . maxdb_kill . maxdb_master_query . maxdb_more_results . maxdb_multi_query . maxdb_next_result . maxdb_num_fields . maxdb_num_rows . maxdb_options . maxdb_param_count . maxdb_ping . maxdb_prepare . maxdb_query . maxdb_real_connect . maxdb_real_escape_string . maxdb_real_query . maxdb_report . maxdb_rollback . maxdb_rpl_parse_enabled . maxdb_rpl_probe . maxdb_rpl_query_type . maxdb_select_db . maxdb_send_long_data . maxdb_send_query . maxdb_server_end . maxdb_server_init . maxdb_set_opt . maxdb_sqlstate . maxdb_ssl_set . maxdb_stat . maxdb_stmt_affected_rows . maxdb_stmt_bind_param . maxdb_stmt_bind_result . maxdb_stmt_close_long_data . maxdb_stmt_close . maxdb_stmt_data_seek . maxdb_stmt_errno . maxdb_stmt_error . maxdb_stmt_execute . maxdb_stmt_fetch . maxdb_stmt_free_result . maxdb_stmt_init . maxdb_stmt_num_rows . maxdb_stmt_param_count ->maxdb_stmt_prepare . maxdb_stmt_reset . maxdb_stmt_result_metadata . maxdb_stmt_send_long_data . maxdb_stmt_sqlstate . maxdb_stmt_store_result . maxdb_store_result . maxdb_thread_id . maxdb_thread_safe . maxdb_use_result . maxdb_warning_count
|
8.66.99 maxdb_stmt_prepare()stmt->prepare()
Prépare une requête SQL pour exécution
[ Exemples avec maxdb_stmt_prepare ] PECL
Style procédural
bool
maxdb_stmt_prepare (
resource
stmt
,
string
query
)
Style orienté objet (méthode)
stmt
mixed
prepare (
string
query
)
maxdb_stmt_prepare
prépare une requête SQL pointée
par une chaîne. La ressource de requête doit avoir été allouée par la
fonction
maxdb_stmt_init
. La requête
doit être constituée d'une simple requête SQL.
| Note | |
Vous ne devez pas ajouter de point-virgule final ou
\g
à la requête.
|
Le paramètre
query
peut inclure un ou plusieurs
marqueurs de paramètres dans la requête SQL en y intégrant des
points d'exclamations (
?
) à une position appropriée.
| Note | |
Les marqueurs sont autorisés uniquement à des positions
précises dans les requêtes SQL. Par exemple, ils sont autorisés
dans la liste VALUE() d'une requête INSERT (pour spécifier une valeur
de colonne pour une ligne), ou dans une comparaison avec une colonne
dans une clause WHERE pour spécifier une valeur de comparaison.
Cependant, ils ne sont pas autorisés pour les identifiants (comme les noms
de tables ou de colonnes), dans la liste SELECT qui nomme les colonnes
à être retournées par les requêtes SELECT), ou pour spécifier les opérants
d'un opérateur binaire comme le signe égal (
=
).
La dernière restriction est nécessaire car il est impossible de déterminer
le type du paramètre. En général, les paramètres sont légaux uniquement
dans les requêtes
Data Manipulation Languange (DML)
et non dans les requêtes
Data Defination Language
(DDL)
.
|
Les marqueurs doit être liés aux variables en utilisant les fonctions
maxdb_stmt_bind_param
et/ou
maxdb_stmt_bind_result
avant d'exécuter
la requête ou de récupérer les lignes.
Cette fonction retourne
TRUE
en cas de
succès,
FALSE
en cas d'échec.
| Style orienté objet |
<?php $maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");
/* Vérification de la connexion */ if (maxdb_connect_errno()) { printf("Echec de la connexion : %s\n", maxdb_connect_error()); exit(); }
$city = "Portland";
/* Création d'une requête préparée */ $stmt = $maxdb->stmt_init(); if ($stmt->prepare("SELECT state FROM hotel.city WHERE name=?")) {
/* Lie les paramètres aux marqueurs */ $stmt->bind_param("s", $city);
/* Exécute la requête */ $stmt->execute();
/* Lie les variables de résultats */ $stmt->bind_result($district);
/* Récupère la valeur */ $stmt->fetch();
printf("%s est dans %s\n", $city, $district);
/* Fermeture de la requête */ $stmt->close(); }
/* Fermeture de la connexion */ $maxdb->close(); ?>
|
| Style procédural |
<?php $link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");
/* Vérification de la connexion */ if (maxdb_connect_errno()) { printf("Echec de la connexion : %s\n", maxdb_connect_error()); exit(); }
$city = "Portland";
/* Création d'une requête préparée */ $stmt = maxdb_stmt_init($link); if (maxdb_stmt_prepare($stmt, "SELECT state FROM hotel.city WHERE name=?")) {
/* Lie les paramètres aux marqueurs */ maxdb_stmt_bind_param($stmt, "s", $city);
/* Exécute la requête */ maxdb_stmt_execute($stmt);
/* Lie les variables de résultats */ maxdb_stmt_bind_result($stmt, $district);
/* Récupère la valeur */ maxdb_stmt_fetch($stmt);
printf("%s est dans %s\n", $city, $district);
/* Fermeture de la requête */ maxdb_stmt_close($stmt); }
/* Fermeture de la connexion */ maxdb_close($link); ?>
|
maxdb_stmt_init
,
maxdb_stmt_execute
,
maxdb_stmt_fetch
,
maxdb_stmt_bind_param
,
maxdb_stmt_bind_result
et
maxdb_stmt_close
.
|