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.85 mysqli_stmt_bind_param()stmt->bind_param()Lie des variables à une requête MySQL[ Exemples avec mysqli_stmt_bind_param ] PHP 5
Style procédural
bool
mysqli_stmt_bind_param (
mysqli_stmt
stmt
,
string
types
,
mixed
var1
,
mixed
...
)
Style orienté objet (méthode)
mysqli_stmt
bool
bind_param (
string
types
,
mixed
var1
,
mixed
...
)
mysqli_stmt_bind_param
sert à lier des variables
à une requête MySQL préparée par
mysqli_prepare
.
La chaîne
types
contient un ou plusieurs caractères
qui spécifient le type de la variable à lier :
| Caractère |
Description |
| i |
Type entier |
| d |
Type double (nombre à virgule flottante) |
| s |
Type chaîne |
| b |
Type BLOB, qui sera envoyé par paquets |
| Note | |
Si la taille des données dépasse la taille maximal d'un paquet,
(
max_allowed_packet
), vous devez spécifier
le caractère
b
dans le paramètre
types
et utiliser la fonction
mysqli_stmt_send_long_data
pour envoyer le
message par paquets.
Le nombre de variables et la taille de la chaîne
types
doivent correspondre au nombre de
variables de la requête.
|
Cette fonction retourne
TRUE
en cas de
succès,
FALSE
en cas d'échec.
| Style orienté objet |
<?php $mysqli = new mysqli('localhost', 'utilisateur', 'mot_de_passe', 'base');
/* Vérification de la connexion */ if (mysqli_connect_errno()) { printf("Connexion échouée : %s\n", mysqli_connect_error()); exit(); }
$stmt = $mysqli->prepare("INSERT INTO Langage VALUES (?, ?, ?, ?)"); $stmt->bind_param('sssd', $code, $language, $official, $percent);
$code = 'DEU'; $language = 'Bavarian'; $official = "F"; $percent = 11.2;
/* Exécution de la requête préparée */ $stmt->execute();
printf("%d Ligne insérée.\n", $stmt->affected_rows);
/* Fermeture de la commande */ $stmt->close();
/* Nettoyage de la table Langage */ $mysqli->query("DELETE FROM Langage WHERE Langue='Bavarian'"); printf("%d Ligne effacée.\n", $mysqli->affected_rows);
/* Fermeture de la connexion */ $mysqli->close(); ?>
|
| Style procédural |
<?php $link = mysqli_connect('localhost', 'utilisateur', 'mot_de_passe', 'base');
/* Vérification de la connexion */ if (!$link) { printf("Connexion échouée : %s\n", mysqli_connect_error()); exit(); }
$stmt = mysqli_prepare($link, "INSERT INTO Langage VALUES (?, ?, ?, ?)"); mysqli_stmt_bind_param($stmt, 'sssd', $code, $language, $official, $percent);
$code = 'DEU'; $language = 'Bavarian'; $official = "F"; $percent = 11.2;
/* Exécution de la requête préparée */ mysqi_stmt_execute($stmt);
printf("%d ligne insérée.\n", mysqli_stmt_affected_rows($stmt));
/* Fermeture de la commande */ mysqli_stmt_close($stmt);
/* Nettoyage de la table Langage */ mysqli_query($link, "DELETE FROM Langage WHERE Langue='Bavarian'"); printf("%d ligne effacée.\n", mysqli_affected_rows($link));
/* Fermeture de la connexion */ mysqli_close($link); ?>
|
L'exemple ci-dessus va afficher :
1 ligne insérée.
1 ligne effacée.
mysqli_stmt_bind_result
,
mysqli_stmt_execute
,
mysqli_stmt_fetch
,
mysqli_prepare
,
mysqli_stmt_send_long_data
,
mysqli_stmt_errno
et
mysqli_stmt_error
.
|