phpundmysql.de

Errata der 4. Auflage

Kapitel 4.7.2: Vordefinierte Konstanten

Auf Seite 141 unter Tabelle 4.5 ist ein kleiner Fehler enthalten: „Wenn Sie einen Wert aus einer Menge ausschließen möchten, dann müssen Sie ihm eine Tilde (^) voranstellen … “
Das ^ ist natürlich keine Tilde, sondern ein Zirkumflex 😉

Danke an unseren Leser Anton L. für den Hinweis.

Kapitel 6.2: MySQL und SQL

In der Tabelle 6.4 sind die negativen Vorzeichen der Wertebereiche flöten gegangen. Die erste Zahl eines jeden Wertebereichs mus selbstverständlich negativ sein:

Datentyp Wertebereich (Größe)
TINYINT(3) –128 bis 127 (2^8)
SMALLINT(5) –32.768 bis 32.767 (2^16)
MEDIUMINT(8) –8.388.608 bis 8.388.607 (2^24)
INT(10) –2.147.483.648 bis 2.147.483.647 (2^32)
BIGINT(20) –9.223.372.036.854.775.808 bis 9.223.372.036.854.775.807 (2^64)

Kapitel 7.2.1: mysqli

Die Methode mysqli::client_encoding() wurde in PHP 5.4 entfernt. Allerdings war sie nur ein alternativer Name für mysqli::character_set_name(). Verwenden Sie ab PHP 5.4 also letzteres.

Kapitel 7.2.2: mysqli_result

Die Methode fetch_fields() in Listing 7.7 ist auf das Ergebnisobjekt anzuwenden, nicht auf das Objekt der Verbindung. Das Ergebnisarray muss also auf $result->fetch_fields() ermittelt werden, nicht aus $mysqli->fetch_fields().

Kapitel 8.1.1: Erstellung eines Datums

Auch hier hat der Formattierungsteufel zugeschlagen und in der ersten Spalte der Tabelle 8.1 alle Parameter groß geschrieben. Einige davon sollten tatsächlich groß geschrieben werden, andere wiedrum klein. Die korrekte Syntax und einen vollständigen Überblick über alle Parameter finden sich in Anhang A in Tabelle A.1; hier aber noch einmal die korrigierte Version der Tabelle 8.1:

Parameter Beschreibung Beispiel
d Tag des Monats, zweistellig 01 bis 31
F Name des Monats, englisch January
H Stunden, zweistellig, 24h-Format 00 bis 23
i Minuten, zweistellig 00 bis 59
j Tag des Monats, ohne führende Null 1 bis 31
l Name des Wochentags, englisch Wednesday
m Monat, zweistellig 01 bis 12
n Monat, ohne führende Null 1 bis 12
s Sekunden, zweistellig 00 bis 59
y Jahr, zweistellig 00 bis 99
Y Jahr, vierstellig 2006

Kapitel 11.2.2: Zwei-Wege-Verschlüsselung

Im Listing 11.6 wird das Ergebnis von mcrypt_get_iv_size der Variable $iv_laenge zugewiesen, allerdings mit $iv_size aufgerufen. Korrekt ist natürlich, beide Male denselben Variablennamen zu verwenden. Auf der mitgelieferten CD befindet sich übrigens bereits die korrekte Version.

Kapitel 15.2: Sitzungen mit Datenbanken verwalten

Die Methodensignatur des Session-Handlers von PHP hat sich in neueren Versionen geändert: Die Methoden open() und gc() erwarteten bisher keine Argumente. Nun wird open mit zwei weiteren Parametern $save_path sowie $session_name aufgerufen, gc bekommt zusätzlich den Parameter $maxlifetime übergeben.

Hier können Sie die beiden Dateien für die Session-Verwaltung herunterladen und im Ordner inc/classes/Session ersetzen. Session-Handler