Häufige Fehler bei Änderung von PHP-Versionen

PHP wird ständig weiterentwickelt, daher sind in unregelmäßigen Abständen Updates und neue Versionen verfügbar. Manchmal führen Updates dazu, dass Scripte nicht mehr funktionieren und daher angepasst werden müssen. Ein Tipp vorab: Oft hilft bereits ein simples Update Ihres verwendeten CMS oder Plugins auf eine aktuelle Version.

In diesem Artikel wollen wir gemeinsam mit Ihnen auf häufige Fehler bei Änderungen der PHP-Versionen eingehen und Lösungen zur Behebung dieser Fehler erarbeiten.

Mehr als nur eine Domain!

Hier finden Sie Ihre perfekte Domain - z.B. .de Domain + persönlicher Berater

E-Mail-Adresse
24/7 Support
SSL-Sicherheit

Umstellung von SQL Funktionen beim Update von PHP5 auf PHP7

Bei der Entwicklung von PHP 7 wurde teilweise die Abwärtskompatibilität aufgegeben. Weitere Hintergründe finden Sie in den Migrationsleitfäden des PHP Projekts . Einer der Fehler, der am häufigsten bei dem Update von PHP5 auf PHP7 auftritt, ist die Umstellung von der PHP-Funktion mysql() zu mysqli().

Konkret gesagt, funktioniert die Funktion mysql() nicht mehr. Diese Funktion wurde durch mysqli() ersetzt. Viele Funktionen lassen sich dadurch korrigieren, indem man ein "i" der bestehenden mysql()-Funktion hinzufügt.

An der folgenden Fehlermeldung erkennen Sie, dass Sie einen nicht mehr unterstützten Datenbanktreiber einsetzen:

Fatal error: Uncaught Error: Call to undefined function mysql_connect() in… line…

Verbindungskennung

Um auf die neue Datenbankversion umzustellen, nutzen Sie zusätzlich zu den mysql(i)-Funktionen auch die neue Verbindungskennung. In unserem Beispiel heißt diese: $link

<?php  
// old: mysql() establish connection:
mysql_connect("localhost", "root", "", "test");
// new: mysqli() establish connection:
$link = mysqli_connect("localhost", "root", "", "test");
?>

Auslesen von Daten aus der DB-Tabelle

Hier ein Beispiel einer einfachen Datenabfrage:

 <?php
$link = mysqli_connect("localhost", "root", "", "test");
// Read datarecords (example)
 $datarecords = mysqli_query($link,
 "SELECT `name`, `text`, `date` FROM `news`");
// Read data records
while (list($name, $text, $date) = mysqli_fetch_array($datarecords)) {
 echo "<p>$name - $titel - $text - $date</p>";
}
?>

Wenn Sie weitere Hintergründ erfahren möchten: Der nachfolgende externe Beitrag bietet eine Einführung und die Hintergründer der Möglichkeiten, die Ihnen bei der Entwicklung einer PHP-Anwendung zur Verfügung stehen, die mit einer MySQL-Datenbank interagieren muss. Beitrag aufrufen