Seite 1 von 1

4.8.20 DB Problem

Verfasst: Mi 11. Mär 2015, 22:10
von derju
Hi

folgendes funktioniert seid dem Upgrade auf die 4.8.20 nicht mehr:

Code: Alles auswählen

$db = new DB_Contenido;
mysql_query("TRUNCATE TABLE con_content_su");
Wurde hier was geändert?

LG - derJu

Re: 4.8.20 DB Problem

Verfasst: Mi 11. Mär 2015, 23:39
von homtata
heyho,
ich bin jetzt nicht so der DB-Spezi, aber wäre es nicht geschickter, das instanzierte $db auch zu nutzen, also:

Code: Alles auswählen

$db->query("TRUNCATE TABLE con_content_su");
Funktioniert das?

Re: 4.8.20 DB Problem

Verfasst: Do 12. Mär 2015, 06:33
von derju
hi homtata

funktioniert, macht jedenfalls Sinn es so zu verwenden.
Was ich nicht verstehe weshalb der andere Ausdruck nicht mehr funktioniert.

LG - derJu

Re: 4.8.20 DB Problem

Verfasst: Do 12. Mär 2015, 07:35
von Oldperl
derju hat geschrieben:Was ich nicht verstehe weshalb der andere Ausdruck nicht mehr funktioniert.
Weil der Ausdruck so eigentlich auch nicht funktionieren sollte. Das ist in diesem Fall auch kein Problem das von der 4.8.20 her rührt, sondern eigentlich eine PHP Sache.
In deinem Ausdruck instanzierst du das CONTENIDO DB-Objekt mit

Code: Alles auswählen

$db = new DB_Contenido;
welches Du aber im Anschluss überhaupt nicht nutzt, sondern dort greifst du direkt per PHP-MySQL-Funktion auf die DB zu

Code: Alles auswählen

mysql_query("TRUNCATE TABLE con_content_su");
Dabei hast du aber nirgends (global) für PHP per mysql_connect() eine Verbindung zur DB hergestellt. Dies wurde nur gekapselt in der DB-Klasse gemacht.
:arrow: http://php.net/manual/de/function.mysql-connect.php

Wobei es auch sein kann, das du überhaupt keine Verbindung per PHP-MySQL-Treiber hast, da dieser in neueren PHP-Versionen als deprecated gekennzeichnet ist und die 4.8.20 standardmäßig per PHP-MySQLi mit der DB verbindet. Ich weiß grad nicht ob Contenido das auch automatisch umstellt bei einem Update zur 4.8.20, oder ob da die alte Einstellung für mysql erst mal übernommen wird.

Gruß aus Franken

Ortwin