Test avec base de données d'adjectif anglais français
Exemple de fichier de requête avec php mysqli (procédural)
Cet exemple montre une requête simple avec
Les requêtes préparées (prepared statement ou prepared query en anglais) ou requêtes paramétrées utilisent des
Cette requête test avec des mots anglais français à titre d'exemple une connexion mysqli en procédural. La traduction est approximative, il s'agit d'un exemple de gestion de données.
Pour cet exemple, le paramètre passé dans la requête est la lettre sélectionnée par l'utilisateur dans le formulaire.
<?php
$f_lettre_frm = $_POST['fletter'];
1
if (empty($f_letter)) {
die("Sélection lettre requise");
//2 }
include_once('config_glob.php');
//3
$conn = mysqli_connect(SVR_IP, UTILISATEUR, MOTDEPASSE); //
4
if(mysqli_connect_errno()) { //
5 exit("<p>Echec de la connexion: (" . mysqli_connect_errno() . ")</p>");
} else {
echo "<p>Paramètres de connection à la base de données valides</p>";
}
mysqli_select_db($conn, "bdd_01"); //
6
$sql = "SELECT col1, col2, col3
FROM bdd_table
WHERE col1 LIKE ?";
//7
$stmt = mysqli_prepare($conn, $sql);
//8 mysqli_stmt_bind_param($stmt, 's', $f_letterB);
//9
$f_lettre = $f_lettre_frm.'%';
//10
mysqli_stmt_execute($stmt);
//11
$results = mysqli_stmt_get_result($stmt); //
12
if (!$results){
//trigger_error(mysqli_error($conn), E_USER_ERROR);
//13 }
if (isset($conn)){
mysqli_close($conn);
//14 }
echo "<table style = 'border:1px solid black;' border = 1>";
$ligne = "";
//15
while($row = mysqli_fetch_array($results)){
//16 $ligne .= "<tr>";
$ligne .= "<td>" . $row['Adjectif masculin fr'] . "</td>";
$ligne .= "<td>" . $row['Adj féminin fr'] . "</td>";
$ligne .= "<td>" . $row['Adj anglais'] . "</td>";
$ligne .= "</tr>";
echo $ligne;
}
echo "</table>";
mysqli_free_result($results);
//17
?>
mysqli_select_db()
?
pour servir de balise au(x) variable(s) de la requête préparée (voir 11)
prepare()
et création de la variable $stmt
mysqli_stmt_bind_param()
. Cette instruction peut évoluer selon le type et le nombre de paramètres. Il y a 4 types de paramètres (i
pour les nombres entiers, d
pour les nombres décimaux, s
pour le texte et pour des formats binaire).
Le type de paramètre s
peut s'appliquer en remplacement des autres types. Le nombre de paramètre est déterminé en fonction du nombre de type déclarés, par exemple sss
= 3 paramètres de type texte.
mysqli_stmt_execute()
mysqli_stmt_get_result()
mysqli_close()
mysqli_fetch_array()