Warum wirkt sich das Escapezeichen in einfache Anführungszeichen in PHP manchmal nur auf MySQL-Einfügungen aus?

Patricia Arquette
Freigeben: 2024-11-03 11:55:29
Original
743 Leute haben es durchsucht

Why Does Escaping Single Quotes in PHP Only Affect MySQL Inserts Sometimes?

Einfache Anführungszeichen in PHP beim Einfügen in MySQL maskieren

Dieser Artikel befasst sich mit dem Problem der Escapezeichen in einfachen Anführungszeichen in PHP beim Einfügen von Daten in MySQL.

Der bereitgestellte Code demonstriert zwei SQL-Anweisungen: eine zum Einfügen von Formulardaten in eine Datenbank und die andere zum Abrufen von Daten, zum Senden einer E-Mail und zum Protokollieren von Transaktionsdetails. Der Fehler tritt auf, wenn in der zweiten Anweisung ein einfaches Anführungszeichen vorhanden ist, in der ersten jedoch nicht.

Der Unterschied im Verhalten ergibt sich aus der Möglichkeit, dass magic_quotes_gpc aktiviert wird. Diese Funktion maskiert Zeichenfolgen aus $_GET, $_POST und $_COOKIES. Wenn die Daten gespeichert und erneut abgerufen werden, werden sie möglicherweise nicht automatisch maskiert.

Um dieses Problem zu beheben, sollten Sie jede Zeichenfolge in beiden Snippets mit mysql_real_escape_string() maskieren.

Beispiel mit mysql_real_escape_string():

<code class="php">$order_id = mysql_real_escape_string($order_id);
$supplier_id = mysql_real_escape_string($supplier_id);
...</code>
Nach dem Login kopieren

Das Escapezeichen von Zeichenfolgen vor dem Einfügen in MySQL stellt sicher, dass einfache Anführungszeichen und andere potenziell problematische Zeichen korrekt behandelt werden, wodurch SQL-Injection-Schwachstellen und inkonsistente Abfrageausführung verhindert werden.

Das obige ist der detaillierte Inhalt vonWarum wirkt sich das Escapezeichen in einfache Anführungszeichen in PHP manchmal nur auf MySQL-Einfügungen aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage