Heim > Backend-Entwicklung > PHP-Tutorial > Warum löst „mysqli_real_escape_string()' den Fehler „Parameterkonflikt' aus und wie kann ich ihn beheben?

Warum löst „mysqli_real_escape_string()' den Fehler „Parameterkonflikt' aus und wie kann ich ihn beheben?

DDD
Freigeben: 2024-12-01 20:37:10
Original
945 Leute haben es durchsucht

Why Does `mysqli_real_escape_string()` Throw a

mysqli_real_Escape_string: Verständnis der Parameterkonflikte

Bei der Verwendung der Funktion mysqli_real_escape_string() können Entwickler auf den Fehler stoßen: „mysqli_real_escape_string() erwartet genau 2 Parameter, 1 gegeben.“ " Um dieses Problem zu lösen, müssen wir die korrekte Verwendung der Funktion und ihrer Parameteranforderungen verstehen.

Funktionssignatur

Laut offizieller Dokumentation lautet die Syntax für mysqli_real_escape_string():

string mysqli_real_escape_string ( mysqli $link , string $escapestr )
Nach dem Login kopieren

Dies zeigt an, dass die Funktion zwei Parameter erfordert:

  1. $link: Ein gültiger MySQLi-Verbindungslink
  2. $escapestr: Die zu maskierende Zeichenfolge

Häufiges Missverständnis und Lösung

Das bereitgestellte Code-Snippet versucht, die PHP-Version zu überprüfen, um festzustellen, ob es verwendet werden soll mysqli_real_escape_string() oder mysqli_escape_string(). Dies schlägt jedoch fehl, da mysqli_real_escape_string() einen MySQLi-Verbindungslink als ersten Parameter erfordert, der im Code fehlt.

Um diesen Fehler zu beheben, müssen wir mysqli_real_escape_string() die richtigen Parameter bereitstellen. Dies kann erreicht werden, indem eine MySQLi-Verbindung hergestellt und der Verbindungslink als erstes Argument an die Funktion übergeben wird.

Hier ist ein Beispiel für die korrekte Verwendung:

$mysqli = new mysqli('host', 'username', 'password', 'database');

if (phpversion() >= '4.3.0'){
    $string = mysqli_real_escape_string($mysqli, $string);
}else{
    $string = mysqli_escape_string($mysqli, $string);
}
Nach dem Login kopieren

In diesem Code stellt die Variable $mysqli einen gültigen MySQLi-Verbindungslink dar, der zusammen mit dem zu maskierenden $string an mysqli_real_escape_string() übergeben wird. Dies sollte den Fehler beheben und es Ihnen ermöglichen, mysqli_real_escape_string() wie vorgesehen zu verwenden.

Das obige ist der detaillierte Inhalt vonWarum löst „mysqli_real_escape_string()' den Fehler „Parameterkonflikt' aus und wie kann ich ihn beheben?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage