Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql]mysql_query
230005
post
Post #1





Grupa: Zarejestrowani
Postów: 316
Pomógł: 36
Dołączył: 2.04.2008

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


Chcę wyciągnąć z bazy dane za pomocą tego zapytania: "select id from `playereditor_categories` where category = 'center'". W odpowiedzi powinienem dostać jeden wiersz, a dostaję dwuwymiarową, jednoelementową tablicę: Array ( [0] => Array ( [0] => 1 [id] => 1 ) ). Id jak widać jest na końcu. Wynik łapię tak:

  1. <?php
  2. while($row = mysql_fetch_array($result))
  3.            $returnArray[] = $row;
  4. ?>


W tabeli w bazie danych wartości są unikatowe, czyli center jest jeden (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Nie robiłem nic w sql od jakiegoś czasu, więc może to jakiś prosty błąd, ale go po prostu nie widzę (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .
Go to the top of the page
+Quote Post
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




To z SQL nie ma nic wspólnego; "winna" jest tutaj funkcja mysql_fetch_array" title="Zobacz w manualu PHP" target="_manual, która zwraca Ci "zdublowane" dane tj. w postaci zwykłej tablicy połączonej z tablicą asocjacyjną. Użyj mysql_fetch_row" title="Zobacz w manualu PHP" target="_manual do odebrania tablicy indeksowanej liczbowo lub mysql_fetch_assoc" title="Zobacz w manualu PHP" target="_manual dla tablicy asocjacyjnej.

Jeśli jednak Twoje zapytanie zwraca tylko 1 rekord z 1 kolumną to możesz użyć mysql_result" title="Zobacz w manualu PHP" target="_manual:
  1. <?php
  2. $q = mysql_query('SELECT COUNT(*) FROM tabela');
  3.  
  4. ?>
Go to the top of the page
+Quote Post
230005
post
Post #3





Grupa: Zarejestrowani
Postów: 316
Pomógł: 36
Dołączył: 2.04.2008

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


Dla wersji z mysql_fetch_assoc dostaję: Array ( [0] => Array ( [id] => 1 ) ), dla mysql_fetch_row to samo, tylko z 0 zamiast id, a dla mysql_result błąd: Wrong parameter count for mysql_result().
Go to the top of the page
+Quote Post
phpion
post
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




No i? Zajrzyj do manuala i zobacz, że dostajesz poprawne dane. Żądasz tablicy to ją dostajesz.
Go to the top of the page
+Quote Post
230005
post
Post #5





Grupa: Zarejestrowani
Postów: 316
Pomógł: 36
Dołączył: 2.04.2008

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


Ok, dla mysql_result dostaję poprawne dane - zapomniałem dodać tego 0 na końcu. A co do spoglądania do manuala, to patrzyłem i nie ma nic o zwracaniu danych w takiej formie jak na początku dostawałem, powinno być jeśli już coś na kształt: array([0] => zero [1] => jeden)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 26.09.2025 - 01:32