Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Dziwny problem, można tak dane odczytać?
MP1
post 3.05.2005, 21:40:35
Post #1





Grupa: Zarejestrowani
Postów: 194
Pomógł: 0
Dołączył: 22.09.2003
Skąd: Polska

Ostrzeżenie: (0%)
-----


  1. <?php
  2.  
  3. db_read('*','cats','dinfo','on',' WHERE ID='.$d); echo $dinfo[0];
  4.  
  5. function db_read($co,$t,$a,$y,$o) {
  6. $result=mysql_query('SELECT \"'.$co.'\" FROM '.$GLOBALS['db_pre'].$t.$o) or db_err();
  7.  
  8. switch($y)
  9. {
  10.  case 'oa': $GLOBALS[$a]=mysql_fetch_assoc($result); break;
  11.  case 'on': $GLOBALS[$a]=mysql_fetch_row($result); break;
  12.  case 'ta': $i=0; while($GLOBALS[$a][$i]=mysql_fetch_assoc($result)) { $i++; } break;
  13.  case 'tn': $i=0; while($GLOBALS[$a][$i]=mysql_fetch_row($result)) { $i++; } break;
  14.  default: $GLOBALS[$a][$y]=mysql_fetch_row($result);
  15. }
  16. unset($result); }
  17.  
  18. ?>

Tak wygląda kod z funkcją odczytującą i linijką wyciętą z kodu właściwego. Zainteresujcie się "CASE 'ON'". Czy ten sposób odczytania danych jest poprawny?

$dinfo[0] po odczytaniu (jak w kodzie na początku widać) ma wartość * (dlaczego?). Próbowałem zrobić tak:
  1. <?php
  2.  
  3. case 'on': while($GLOBALS[$a]=mysql_fetch_row($result)) { } break;
  4.  
  5. ?>

Wtedy $dinfo[0] nie miało żadnej wartości (nawet, gdy z zapytania wytnę warunek "WHERE ID=1").

Czym to jest spowodowane?
UWAGA... W przypadku sposobu "CASE tn" jest to samo... (wartość: *).

Może jakiś błąd zrobiłem przy tworzeniu tabeli (wątpię, bo nawet ponownie tworzyłem)?


Naprawione...

Powodem były zbędne cudzysłowy w zapytaniu.

Ten post edytował MP1 4.05.2005, 18:52:21


--------------------
COMPMaster: REAKTYWACJA
F3Sonda: gotowe
F3Kartki:
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.06.2025 - 09:42