tabele tymczasowe - mysql

0

Witam,

mam problem z tabelami tymczasowymi... otóż, próbuję stworzyć tabelę o id sesji i niby wszystko ok, tabela się tworzy, ale znika po przeładowaniu strony. Poniżej zamieszczam prosty kodzik:

session_start();
$sid = session_id();

mysql_connect('localhost', 'user', 'pass');
mysql_selectdb('db');
mysql_query ("
	CREATE TEMPORARY TABLE IF NOT EXISTS `$sid` (
	`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
	`idb` INT NOT NULL)
");
mysql_query("insert into `$sid` values ('','1')");
$res = mysql_query("select * from `$sid`");
while($row = mysql_fetch_array( $res )) {
	echo $row['id'];
	echo $row['idb']; 
}

Tabela tworzy się poprawnie, ponieważ select wyświetla 1 wiersz... natomiast po usunięciu słowa "temporary" wszystko działa jak należy... czy spotkał się ktoś z podobnym problemem?
Aha, deklaracja silnika podczas tworzenia tabeli również nic nie zmienia...

Pozdrawiam i z góry dziękuję za odpowiedzi...
barlot

0

cokolwiek robisz w ten sposób, robisz źle! tabele tymczasowe, jak sama nazwa wskazuje, są tymczasowe. ich czas życia jest równy czasowi życia sesji połączenia z bazą danych, czyli w Twoim wypadku czasowi wykonania skryptu.
tabele tymczasowe nie służą do takich zastosowań. zwykle używa ich się w procedurach składowanych do przyspieszenia lub w ogóle umożliwienia wykonania pewnych zapytań. do tego co robisz służy sesja, natywnie obsługiwana przez php.

1 użytkowników online, w tym zalogowanych: 0, gości: 1