Seite 1 von 1

Knowledge Base Eintrag: Session_is_full

Verfasst: 04.01.2006 11:09
von ReneDD
Hallo,

im Bezug auf
http://www.phpbb.de/doku/kb/artikel.php ... ht=Session

habe ich das mal eine Frage. Mit MySQL 4 funktionierte die Abfrage des Tabellentypes korrekt. Seit MySQL 5 erhalte ich keine Angabe mehr. Es bezieht sich auf folgende Zeilen:
$result = $db->sql_query('SHOW TABLE STATUS LIKE "'.SESSIONS_TABLE.'"');
$row = $db->sql_fetchrow($result);
if ($row["Type"] == "HEAP")

{
Wenn ich jetzt ein

Code: Alles auswählen

echo $row["Type"];
mache erhalte ich keine Ausgabe. Somit funktioniert das ganz Skript natürlich nicht.

Ich hatte erst gedacht das es daran liegt das der Tabellentyp nicht mehr "HEAP" im phpMyAdmin heißt sondern "MEMORY". Ich hatte dann die Zeile wie folgt angepasst
$result = $db->sql_query('SHOW TABLE STATUS LIKE "'.SESSIONS_TABLE.'"');
$row = $db->sql_fetchrow($result);
if ($row["Type"] == "HEAP" || $row["Type"] == "MEMORY")

{
Dies brachte allerdings auch keinen erfolg so das ich die Zeile entfernt habe da ich weiß das ich eine "HEAP" Tabelle nutze.

Gibt es irgendwelche Lösungsansätze dafür?

mfG
Rene

Verfasst: 04.01.2006 11:31
von ReneDD
Also ich habe mich jetzt etwas bei MySQL belesen.

Eine Möglichkei wäre statt "Type" die Abfrage "Engine" zu nehmen! Dabei muss aber statt "HEAP" auch "MEMORY" stehen.

Aus

Code: Alles auswählen

 if ($row["Type"] == "HEAP") 
wird

Code: Alles auswählen

 if ($row["Engine"] == "MEMORY") 
Zu sehen hier:
http://www.server-forum.org/session.php

Laut der MySQL FAQ wurde "Type" in "Engine" geändert.

Code: Alles auswählen

 While TYPE is still supported in MySQL 5.0, ENGINE is now the preferred term.

If you omit the ENGINE or TYPE option, the default storage engine is used. Normally this is MyISAM, but you can change it by using the --default-storage-engine or --default-table-type server startup option, or by setting the storage_engine or table_type system variable. 
Zu finden hier:
http://dev.mysql.com/doc/refman/5.0/en/ ... gines.html

mfG
Rene

Verfasst: 07.01.2006 12:01
von ReneDD
Schieb ;o)

mfG
Rene