Ist die Funktion mysql_real_escape_string() für vorbereitete Anweisungen erforderlich?
Bei Verwendung vorbereiteter Anweisungen wie in der angegebenen Abfrage:
<code class="php">$sql = $db->prepare('select location from location_job where location like ?'); $sql->bind_param('s', $consulta); $sql->execute(); $sql->bind_result($location);</code>
Die Funktion mysql_real_escape_string() ist nicht erforderlich, da vorbereitete Anweisungen eine sichere Möglichkeit bieten, SQL-Injection-Angriffe zu verhindern, indem sie alle Sonderzeichen in der Eingabe maskieren.
Ein Vorschlag zur Verbesserung der Abfrage ist die Verwendung der ' ?' Platzhalter, der es Ihnen ermöglicht, Parameter bequemer über die Ausführungsmethode zu übergeben:
<code class="php">$sql->execute([$consulta]);</code>
Stellen Sie jedoch sicher, dass Sie Benutzereingaben mit htmlspecialchars() bereinigen, bevor Sie sie anzeigen, um Cross-Site-Scripting-Schwachstellen zu vermeiden.
Das obige ist der detaillierte Inhalt vonBenötige ich „mysql_real_escape_string()' mit vorbereiteten Anweisungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!