Antwort an „Robert B.“ verfassen

Moin Linuchs,

Fehlertyp 1:

[24-Oct-2026 13:19:28 Europe/Berlin] PHP Deprecated:  htmlentities(): Passing null to parameter #1 ($string) of type string is deprecated in /homepages/u79644/200/p203.php on line 427

Vorher hatte ich htmlspecialchars (veraltet), in https://www.php.net/manual/en/function.htmlspecialchars.php wird auf htmlenteties verwiesen, wird aber auch als veraltet bezeichnet.

Beide Funktionen sind nicht veraltet, nur das Übergeben von null anstelle eines Strings ist veraltet.

Die Meldung kommt bei leeren Feldern. Es muss doch möglich sein, leere Werte ohne vorheriges if wandeln zu lassen, dann kommt was Leeres raus ohne Warnung.

Wie macht ihr das?

Das hat @Rolf B schon skizziert.

Fehlertyp 2:

[24-Oct-2026 14:36:19 Europe/Berlin] PHP Fatal error:  Uncaught mysqli_sql_exception: Undeclared variable: A in /homepages/u79644/200/p203.php:295
Stack trace:
#0 /homepages/u79644/200/p203.php(295): mysqli->query('\n# ~~~~~~~~~~~~...')
#1 /homepages/u79644/index.php(70): include('/homepages/u796...')
#2 {main}
  thrown in /homepages/u79644/200/p203.php on line 295

Die SQL-Syntax von MySQL/MariaDB kennt LIMIT nur mit numerischen Werten, A ist keiner.

Und der PHP-Code zur Fehlerausgabe (LIMIT A) funktioniert nicht:

Das liegt auf der Hand, denn connect_errno gibt den letzten Verbindungsfehler zurück, aber nicht den Fehler des letzten mysqli-Aufrufs. Unabhängig davon ist der bessere Weg direkt den Rückgabewert von query zu prüfen:

$res_we2 = $mysqli->query($q);
if (! $res_we2) {
    echo 'DB-Fehler: ', $mysqli->error, "\n";
}

Viele Grüße
Robert

freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen