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

Wie aktualisiere ich Daten in MySQL mithilfe vorbereiteter Anweisungen sicher?

DDD
Freigeben: 2024-10-31 09:10:29
Original
336 Leute haben es durchsucht

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>
Nach dem Login kopieren

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

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

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>
Nach dem Login kopieren

Führen Sie die vorbereitete Anweisung aus:

<code class="php">$stmt->execute();</code>
Nach dem Login kopieren

Handle etwaige Fehler, falls sie auftreten:

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

Schließen Sie abschließend die vorbereitete Anweisung:

<code class="php">$stmt->close();</code>
Nach dem Login kopieren

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!

Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage