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.
Laut offizieller Dokumentation lautet die Syntax für mysqli_real_escape_string():
string mysqli_real_escape_string ( mysqli $link , string $escapestr )
Dies zeigt an, dass die Funktion zwei Parameter erfordert:
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); }
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!