Fehlerbehandlung nach PHP-Upgrade: Veraltete mysql_*-Funktionen
Wie Sie beim Upgrade von PHP 5.2 auf 5.5 festgestellt haben, sind mehrere Ihrer Bei PHP-Codefragmenten treten Fehler im Zusammenhang mit veralteten oder veralteten mysql_*-Funktionen auf. Lassen Sie uns diese Probleme untersuchen und Lösungen bereitstellen.
Veraltete mysql_real_escape_string()-Funktion
Die mysql_real_escape_string()-Funktion wird zum Schutz vor SQL-Injection-Angriffen verwendet. Allerdings wurde es in neueren PHP-Versionen zugunsten einer sichereren Alternative veraltet.
Lösung: Ersetzen Sie mysql_real_escape_string() durch mysqli_real_escape_string(), um weiterhin Zuverlässigkeit zu gewährleisten.
Falsche Anzahl von Argumenten für mysqli_real_escape_string()
Die Funktion mysqli_real_escape_string() erfordert zwei Argumente: die Verbindungsressource und die Zeichenfolge, die maskiert werden soll. In Ihrem Beispiel geben Sie nur ein Argument an.
Lösung: Stellen Sie eine Verbindung zur Datenbank her und übergeben Sie die Verbindungsressource als erstes Argument an mysqli_real_escape_string(). Die Syntax zum Herstellen einer Verbindung sieht folgendermaßen aus:
<code class="php">$connection = mysqli_connect("host", "my_user", "my_password", "my_db");</code>
Alternative Option: Datenbankobjekte
Anstatt die Verbindungsressource jedes Mal manuell einzugeben, können Sie diese verwenden ein Datenbankobjekt, um den Prozess zu vereinfachen. Bei diesem Ansatz wird ein Datenbankobjekt wie folgt eingerichtet:
<code class="php">$mysqli = new mysqli("host", "my_user", "my_password", "my_db");</code>
Sobald Sie das Datenbankobjekt erstellt haben, können Sie seine integrierten Funktionen verwenden, um Datenbankoperationen auszuführen, ohne die Verbindungsressource explizit zu übergeben. Zum Beispiel:
<code class="php">$result = $mysqli->query("SELECT * FROM login WHERE username = '{$username}' AND password = '{$password}' AND status=1");</code>
Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Veraltete mysql_*-Funktionen' nach dem Upgrade von PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!