4.8.20 DB Problem

Gesperrt
derju
Beiträge: 301
Registriert: Do 15. Jan 2009, 09:00
Kontaktdaten:

4.8.20 DB Problem

Beitrag von derju » Mi 11. Mär 2015, 22:10

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
Contenido 4.8.20 | Contenido 4.9.12

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: 4.8.20 DB Problem

Beitrag von homtata » Mi 11. Mär 2015, 23:39

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?

derju
Beiträge: 301
Registriert: Do 15. Jan 2009, 09:00
Kontaktdaten:

Re: 4.8.20 DB Problem

Beitrag von derju » Do 12. Mär 2015, 06:33

hi homtata

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

LG - derJu
Contenido 4.8.20 | Contenido 4.9.12

Oldperl
Beiträge: 4255
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: 4.8.20 DB Problem

Beitrag von Oldperl » Do 12. Mär 2015, 07:35

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
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

Gesperrt