8.81 Extension MySQL améliorée
8 Référence des fonctions
Manuel PHP
. Introduction . Pré-requis . Installation . Configuration à l'exécution . Classes pré-définies . Constantes pré-définies . mysqli_affected_rows . mysqli_autocommit . mysqli_bind_param . mysqli_bind_result . mysqli_change_user . mysqli_character_set_name . mysqli_client_encoding . mysqli_close . mysqli_commit . mysqli_connect_errno . mysqli_connect_error . mysqli_connect . mysqli_data_seek . mysqli_debug . mysqli_disable_reads_from_master . mysqli_disable_rpl_parse . mysqli_dump_debug_info . mysqli_embedded_connect . mysqli_enable_reads_from_master . mysqli_enable_rpl_parse . mysqli_errno . mysqli_error . mysqli_escape_string . mysqli_execute . mysqli_fetch_array . mysqli_fetch_assoc . mysqli_fetch_field_direct . mysqli_fetch_field . mysqli_fetch_fields . mysqli_fetch_lengths . mysqli_fetch_object . mysqli_fetch_row . mysqli_fetch . mysqli_field_count . mysqli_field_seek . mysqli_field_tell . mysqli_free_result . mysqli_get_client_info . mysqli_get_client_version . mysqli_get_host_info . mysqli_get_metadata . mysqli_get_proto_info . mysqli_get_server_info . mysqli_get_server_version . mysqli_info . mysqli_init . mysqli_insert_id . mysqli_kill . mysqli_master_query . mysqli_more_results . mysqli_multi_query . mysqli_next_result . mysqli_num_fields . mysqli_num_rows . mysqli_options . mysqli_param_count . mysqli_ping . mysqli_prepare . mysqli_query . mysqli_real_connect . mysqli_real_escape_string . mysqli_real_query . mysqli_report . mysqli_rollback . mysqli_rpl_parse_enabled . mysqli_rpl_probe . mysqli_rpl_query_type . mysqli_select_db . mysqli_send_long_data . mysqli_send_query . mysqli_server_end . mysqli_server_init . mysqli_set_charset . mysqli_set_opt . mysqli_sqlstate . mysqli_ssl_set . mysqli_stat . mysqli_stmt_affected_rows . mysqli_stmt_bind_param . mysqli_stmt_bind_result . mysqli_stmt_close . mysqli_stmt_data_seek . mysqli_stmt_errno . mysqli_stmt_error . mysqli_stmt_execute . mysqli_stmt_fetch . mysqli_stmt_free_result . mysqli_stmt_init . mysqli_stmt_num_rows . mysqli_stmt_param_count . mysqli_stmt_prepare . mysqli_stmt_reset . mysqli_stmt_result_metadata . mysqli_stmt_send_long_data . mysqli_stmt_sqlstate ->mysqli_stmt_store_result . mysqli_store_result . mysqli_thread_id . mysqli_thread_safe . mysqli_use_result . mysqli_warning_count
|
8.81.102 mysqli_stmt_store_result()mysqli_stmt->store_result()Récupère un jeu de résultats depuis une requête préparée[ Exemples avec mysqli_stmt_store_result ] PHP 5
Style procédural
bool
mysqli_stmt_store_result (
mysqli_stmt
stmt
)
Style orienté objet (méthode)
mysqli_stmt
bool
store_result (
)
Vous devez appeler
mysqli_stmt_store_result
pour toutes les requêtes
qui produisent un jeu de résultats (
SELECT, SHOW, DESCRIBE, EXPLAIN
),
et uniquement si vous voulez stocker le jeu de résultats complet par le client, et donc,
les séquences
mysqli_stmt_fetch
pourront retourner ces données
stockées.
| Note | |
Il n'est pas nécessaire d'appeler
mysqli_stmt_store_result
pour d'autres types de requête, mais si vous le faîtes, ce n'est pas grave et ne causera
aucune perte notable de performance dans tous les cas.
Vous pouvez détecter dans tous les cas si votre requête va produire un jeu de résultats
en regardant si la fonction
mysqli_stmt_result_metadata
retourne
NULL
.
|
Cette fonction retourne
TRUE
en cas de
succès,
FALSE
en cas d'échec.
| Style orienté objet |
<?php /* Ouverture de la connexion */ $mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* Vérification de la connexion */ if (mysqli_connect_errno()) { printf("Echec de la connexion : %s\n", mysqli_connect_error()); exit(); }
$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20"; if ($stmt = $mysqli->prepare($query)) {
/* Exécution de la requête */ $stmt->execute();
/* Stockage du résultat */ $stmt->store_result();
printf("Nombre de lignes : %d.\n", $stmt->num_rows);
/* Libération des résultats */ $stmt->free_result();
/* Fermeture du traitement */ $stmt->close(); }
/* Fermeture de la connexion */ $mysqli->close(); ?>
|
| Style procédural |
<?php /* Ouverture de la connexion */ $link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* Vérification de la connexion */ if (mysqli_connect_errno()) { printf("Echec de la connexion : %s\n", mysqli_connect_error()); exit(); }
$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20"; if ($stmt = mysqli_prepare($link, $query)) {
/* Exécution de la requête */ mysqli_stmt_execute($stmt);
/* Stockage du résultat */ mysqli_stmt_store_result($stmt);
printf("Nombre de lignes : %d.\n", mysqli_stmt_num_rows($stmt));
/* Libération du résultat */ mysqli_stmt_free_result($stmt);
/* Fermeture du traitement */ mysqli_stmt_close($stmt); }
/* Fermeture de la connexion */ mysqli_close($link); ?>
|
L'exemple ci-dessus va afficher :
Nombre de lignes : 20.
mysqli_prepare
,
mysqli_stmt_result_metadata
et
mysqli_stmt_fetch
.
|