Bonjour,
Passer d'une requête simple à une requête préparée sans être spécialiste n'est pas chose facile car les changements interviennent aussi sur le code en AVAL de la requête.
Je prends l'exemple d'un petit SELECT.
Requête simple en PHP :
Je cherche le code équivalent mais avec requête préparée, cela devient beaucoup plus compliqué :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $connexion = mysqli_connect ("localhost", "mysql_user", "mysql_password"); $requete = "SELECT champ_1 FROM base WHERE id='" . intval ($ref) . "' LIMIT 1"; $resultat = mysqli_query ($connexion, $requete); $nbr = mysqli_num_rows ($resultat); $retour = mysqli_fetch_assoc ($resultat);
Pouvez-vous m'aider ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 $requete = "SELECT champ_1 FROM base WHERE id=" . ? . " LIMIT 1"; $stmt = mysqli_prepare ($connexion, $requete); $id = intval ($id); mysqli_stmt_bind_param ($stmt, 'i', $id); mysqli_stmt_execute($stmt); mysqli_stmt_store_result($stmt); $nbr = mysqli_stmt_num_rows ($stmt); /* C'est bon, je récupère le bon nombre de lignes */ $retour = mysqli_stmt_get_result ($stmt); $retour = mysqli_stmt_fetch_array ($retour, MYSQLI_ASSOC); /* Là c'est erreur fatale. */
Merci d'avance.
Partager