Utilisation d'instructions préparées pour les requêtes de mise à jour
Lors de l'exécution de requêtes de mise à jour avec PHP et MySQL, il est recommandé d'utiliser des instructions préparées pour garantir l'intégrité des données et empêcher l'injection SQL. Lors d'une récente discussion sur l'instruction UPDATE de MySQL, un utilisateur a demandé des conseils sur la façon d'utiliser les instructions préparées.
Solution
Dans MySQL, les instructions préparées suivent un format similaire à INSERT ou des instructions SELECT. Pour utiliser une instruction préparée pour une requête UPDATE, remplacez simplement toutes les valeurs de variable par des espaces réservés représentés par le point d'interrogation (?):
<code class="php">$sql = "UPDATE Applicant SET phone_number=?, street_name=?, city=?, county=?, zip_code=?, day_date=?, month_date=?, year_date=? WHERE account_id=?";</code>
Une fois l'instruction SQL préparée, créez un objet d'instruction préparée :
<code class="php">$stmt = $db_usag->prepare($sql);</code>
Ensuite, liez les paramètres à l'instruction préparée. L'exemple suivant suppose que les paramètres date et account_id sont des entiers (d), tandis que les paramètres restants sont des chaînes (s) :
<code class="php">$stmt->bind_param('sssssdddd', $phone_number, $street_name, $city, $county, $zip_code, $day_date, $month_date, $year_date, $account_id);</code>
Exécutez l'instruction préparée :
<code class="php">$stmt->execute();</code>
Handle des erreurs si elles se produisent :
<code class="php">if ($stmt->error) { echo "FAILURE!!! " . $stmt->error; } else echo "Updated {$stmt->affected_rows} rows";</code>
Enfin, fermez la déclaration préparée :
<code class="php">$stmt->close();</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!