Seite 1 von 1

The function cDbDriverHandler::next_record() is deprecated since CONTENIDO 4.10.2

Verfasst: Mi 30. Aug 2023, 10:46
von Bernhard_4711
Ist dieser Fehler bekannt:

Code: Alles auswählen

Deprecated call: next_record() [class.db.driver.handler.php(1148)]: "The function cDbDriverHandler::next_record() is deprecated since CONTENIDO 4.10.2, use cDbDriverHandler::nextRecord() instead."
	next_record() called in file include.tplcfg_edit_form.php(349) : eval()'d code(15)
	eval() called in file include.tplcfg_edit_form.php(349)
	include_once() called in file main.php(212)

Re: The function cDbDriverHandler::next_record() is deprecated since CONTENIDO 4.10.2

Verfasst: Mi 30. Aug 2023, 12:11
von xmurrix
Hallo Bernhard_4711,

dieser Hinweis sagt, dass die Verwendung der Funktion cDbDriverHandler::next_record() veraltet ist.

Vor 11 Jahren wurden einige Funktionen in der Klasse cDbDriverHandler (class.db.driver.handler.php) um alternative Funktionsnamen ergänzt, die neuen Funktionen sollen zukünftig verwendet werden, daher sind die alten Funktionen als Depercated gekennzeichnet.

Im CONTENIDO Core werden überall die neuen Funktionsnamen der Klasse cDbDriverHandler verwendet. Wenn bei dir in der deprecatedlog.txt solche Einträge erscheinen, dann gibt es bei dir noch Module oder Plugins, die die alten Funktionsnamen verwenden. Diese Stellen solltest du finden und anpassen.

Zu ändern sind:

Code: Alles auswählen

$db->num_rows() ersetzen in $db->numRows()

$db->affected_rows() ersetzen in $db->affectedRows()

$db->num_fields() ersetzen in $db->numFields()

$db->next_record() ersetzen in $db->nextRecord()
(Hinweis: Der Variablenname $db dient als Beispiel und kann bei dir variieren, z. B. $database, $db2, $this, usw...)

In ein paar Jahren werden diese alten Funktionen entfernt. Dann gibt es keinen Hinweis, wie es aktuell ist, sondern einen Fehler.

Grüße
Murat

Re: The function cDbDriverHandler::next_record() is deprecated since CONTENIDO 4.10.2

Verfasst: Do 31. Aug 2023, 12:40
von Bernhard_4711
Hallo Murat,
alle von Dir genannten Codeschnipsel finden sich in der Datei contenido/classes/db/class.db.driver.handler.php
Im Develop-Branch auf github ist der Code identisch zu meinem.
Und es wird in allen vier Fällen die neue Funktion zurückgegeben.
Insofern sind das nur Hinweise.