2017-06-27 1 views
-1

Dies ist Verfahrensweise des PHP mysqli_real_escape_string der Verwendung:Warum muss ich die Verbindung angeben, wenn mysqli_real_escape_string in PHP verwendet wird?

$city = "'s Hertogenbosch"; 
$city = mysqli_real_escape_string($link, $city); 

Wie Sie das Verfahren erfordert zwei Parameter sehen können,:

  1. Die Verbindung/link
  2. Der String

Warum muss ich den Link angeben? Was Wenn ich nur eine reguläre Zeichenfolge analysieren und dann eine maskierte Zeichenfolge zurückgeben möchte?

+0

Verwenden Sie einfach vorbereitete Anweisungen. – pvg

+1

@pvg das hat das OP nicht gefragt, es ist eigentlich eine interessante Frage zur Abwechslung. – Capsule

+0

@Capsule Es ist nicht, aber die Dokumente decken es gut ab. Sanest ist es, mysqli_real_escape_string zu vermeiden, wann immer es möglich ist, was fast immer – pvg

Antwort

3

Hier ist, wie die Funktion in the documentation (Hervorhebung von mir) beschrieben wird:

Escapes Sonderzeichen in einem String für die Verwendung in einer SQL-Anweisung, unter Berücksichtigung der aktuellen charset der Verbindung

Die Verbindung wird benötigt, um den Zeichensatz zu bestimmen, der beim Entkommen der Zeichenkette verwendet werden soll, was für die Sicherheit wichtig ist.

Verwandte Themen