PHP wird ständig wei­ter­ent­wi­ckelt, daher sind in un­re­gel­mä­ßi­gen Abständen Updates und neue Versionen verfügbar. Manchmal führen Updates dazu, dass Scripte nicht mehr funk­tio­nie­ren und daher angepasst werden müssen. Ein Tipp vorab: Oft hilft bereits ein simples Update Ihres ver­wen­de­ten CMS oder Plugins auf eine aktuelle Version.

In diesem Artikel wollen wir gemeinsam mit Ihnen auf häufige Fehler bei Än­de­run­gen der PHP-Versionen eingehen und Lösungen zur Behebung dieser Fehler er­ar­bei­ten.

Domain kaufen
Re­gis­trie­ren Sie Ihre perfekte Domain
  • Inklusive 1 SSL-Wildcard-Zer­ti­fi­kat pro Vertrag
  • Inklusive Domain Lock
  • Inklusive Domain Connect für einfache DNS-Ein­rich­tung

Um­stel­lung von SQL Funk­tio­nen beim Update von PHP5 auf PHP7

Bei der Ent­wick­lung von PHP 7 wurde teilweise die Ab­wärts­kom­pa­ti­bi­li­tät auf­ge­ge­ben. Weitere Hin­ter­grün­de finden Sie in den Mi­gra­ti­ons­leit­fä­den des PHP Projekts . Einer der Fehler, der am häu­figs­ten bei dem Update von PHP5 auf PHP7 auftritt, ist die Um­stel­lung von der PHP-Funktion mysql() zu mysqli().

Konkret gesagt, funk­tio­niert die Funktion mysql() nicht mehr. Diese Funktion wurde durch mysqli() ersetzt. Viele Funk­tio­nen lassen sich dadurch kor­ri­gie­ren, indem man ein "i" der be­stehen­den mysql()-Funktion hinzufügt.

An der folgenden Feh­ler­mel­dung erkennen Sie, dass Sie einen nicht mehr un­ter­stütz­ten Da­ten­bank­trei­ber einsetzen:

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

Ver­bin­dungs­ken­nung

Um auf die neue Da­ten­bank­ver­si­on um­zu­stel­len, nutzen Sie zu­sätz­lich zu den mysql(i)-Funk­tio­nen auch die neue Ver­bin­dungs­ken­nung. 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 Da­ten­ab­fra­ge:

<?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 Hin­ter­gründ erfahren möchten: Der nach­fol­gen­de externe Beitrag bietet eine Ein­füh­rung und die Hin­ter­grün­der der Mög­lich­kei­ten, die Ihnen bei der Ent­wick­lung einer PHP-Anwendung zur Verfügung stehen, die mit einer MySQL-Datenbank in­ter­agie­ren muss. Beitrag aufrufen

Zum Hauptmenü