Heim  >  Artikel  >  Datenbank  >  Wie aktualisiere ich Daten in MySQL mithilfe vorbereiteter Anweisungen sicher?

Wie aktualisiere ich Daten in MySQL mithilfe vorbereiteter Anweisungen sicher?

DDD
DDDOriginal
2024-10-31 09:10:29214Durchsuche

How to Update Data Securely in MySQL using Prepared Statements?

Verwendung vorbereiteter Anweisungen für Update-Abfragen

Beim Ausführen von Update-Abfragen mit PHP und MySQL wird empfohlen, vorbereitete Anweisungen zu verwenden, um die Datenintegrität sicherzustellen und SQL-Injection verhindern. In einer aktuellen Diskussion über die UPDATE-Anweisung von MySQL suchte ein Benutzer nach Anleitung zur Verwendung vorbereiteter Anweisungen.

Lösung

In MySQL folgen vorbereitete Anweisungen einem ähnlichen Format wie INSERT oder SELECT-Anweisungen. Um eine vorbereitete Anweisung für eine UPDATE-Abfrage zu verwenden, ersetzen Sie einfach alle Variablenwerte durch Platzhalter, die durch das Fragezeichen (?) dargestellt werden:

<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>

Sobald die SQL-Anweisung vorbereitet ist, erstellen Sie ein vorbereitetes Anweisungsobjekt:

<code class="php">$stmt = $db_usag->prepare($sql);</code>

Als nächstes binden Sie Parameter an die vorbereitete Anweisung. Im folgenden Beispiel wird davon ausgegangen, dass die Parameter date und account_id Ganzzahlen (d) sind, während die übrigen Parameter Zeichenfolgen (s) sind:

<code class="php">$stmt->bind_param('sssssdddd', $phone_number, $street_name, $city, $county, $zip_code, $day_date, $month_date, $year_date, $account_id);</code>

Führen Sie die vorbereitete Anweisung aus:

<code class="php">$stmt->execute();</code>

Handle etwaige Fehler, falls sie auftreten:

<code class="php">if ($stmt->error) {
  echo "FAILURE!!! " . $stmt->error;
}
else echo "Updated {$stmt->affected_rows} rows";</code>

Schließen Sie abschließend die vorbereitete Anweisung:

<code class="php">$stmt->close();</code>

Das obige ist der detaillierte Inhalt vonWie aktualisiere ich Daten in MySQL mithilfe vorbereiteter Anweisungen sicher?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn