tabele tymczasowe - mysql

Odpowiedz Nowy wątek
2011-07-12 14:54
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

Pozostało 580 znaków

2011-07-12 16:32
ŁF
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.


edytowany 1x, ostatnio: ŁF, 2011-07-12 16:35

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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