Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie behebe ich den Fehler „Veraltete mysql_*-Funktionen' nach dem Upgrade von PHP?

Barbara Streisand
Freigeben: 2024-11-09 10:25:02
Original
880 Leute haben es durchsucht

How to Fix

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

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