Heim  >  Artikel  >  Datenbank  >  Wie behebe ich den Fehler „Veraltete mysql_*-Funktionen“ nach dem Upgrade von PHP?

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

Barbara Streisand
Barbara StreisandOriginal
2024-11-09 10:25:02858Durchsuche

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>

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!

Stellungnahme:
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