![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 25.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam dosc ciekawą sytuację z pobieraniem danych z MySQL. Mam w klasie metode ktora pobiera mi dane z tabeli. Jako argument przyjmuje $id , po którym wybiera interesujace mnie dane z tabeli. I tak, jesli np $id = 3 lub $id = 9 otrzymuje potrzebne dane. Jesli jest to np $id = 2 lub $id = 11 to skrypt nie zwraca danych z tabeli. Gdy skopiuje to zapytanie, ktore nie daje wyniku, do mysql, to w phpmyadmin otrzymuje wynik. Gdzie moze być błąd ? Dlaczego baza danych zawsze wykonuje poprawnie zapytanie, a skrypt php tylko w niektorych przypadkach? Byłbym wdzieczny za wszelkie sugestie. Pozdrawiam |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 461 Pomógł: 32 Dołączył: 17.09.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Moja szklana kula mówi, że jest za stara by odpowiedzieć na to pytanie nie widząc kodu, który używasz ...
Poza tym jeśli źle działa to tymczasowo zamiast mysql_query wpisz echo lub die ... i sprawdź jakie zapytania generuje ... Sprawdziłeś ? Już wiesz gdzie jest błąd - możesz podziękować (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) A tak na poważnie - kod, kod, kod, kod ... i jeszcze raz kod ... czyli - wklej trochę swojego kodu tutaj ... |
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Pokaż jakiś kod (najlepiej tej metody)
Pozdrawiam. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 25.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Wstawialem echo - widze jakie zapytania generuje i dla jakich nie daje wynikow. Roznia sie one miedzy soba tylko $id... Wklejam metode jako funkcje.
|
|
|
![]() ![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 569 Pomógł: 0 Dołączył: 17.08.2003 Skąd: Dąbrowa Górnicza Ostrzeżenie: (0%) ![]() ![]() |
Bez szklanej kuli stawiam ze nie ma rekordow w bazie danych o ID 2 i 11 lub sa bledy ze zlączeniami z innymi tabelami. I nie zabardzo bylo by to logiczne ze dla jednych ID jest a dla innych nie. Bledy w zapytaniu i tyle
|
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Wyświetl sobie zapytanie przed jego wykonaniem i sprawdz, czy jest ono takie, jak być powinno.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 25.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Chyba zle to wytlumaczylem. Nie ma bledow w zapytaniu.
Wstawiam sobie w funkcje, przed $query_D i $query_C "echo". Skrypt mi wyswietla zapytanie np: dla wywolania funkcji getGroups('sector',3): SELECT DISTINCT (`Departments`.`idDepartments`), `Departments`.`nameDepartments` as name FROM `Category` , `Products` , `Departments`, `Sectors` WHERE `Category`.`idCategory` = `Products`.`idCategory` AND `Departments`.`idDepartments` = `Category`.`idDepartment` AND `Sectors`.`idSector` = '3' AND `Sectors`.`idProduct` = `Products`.`idProducts` order by `Departments`.`nameDepartments` SELECT `Category`.`nameCategory`, `Category`.`idCategory`, `Category`.`idDepartment` FROM `Category`,`Products`,`Sectors` where `Category`.`idCategory` = `Products`.`idCategory` AND `Sectors`.`idSector` = '3' AND `Sectors`.`idProduct` = `Products`.`idProducts` Wklejam zapytanie do bazy danych - dostaje wyniki. Skrypt rowniez daje wyniki. Teraz wywoluje: getGroups('sector',11); otrzymuje zapytania: SELECT DISTINCT (`Departments`.`idDepartments`), `Departments`.`nameDepartments` as name FROM `Category` , `Products` , `Departments`, `Sectors` WHERE `Category`.`idCategory` = `Products`.`idCategory` AND `Departments`.`idDepartments` = `Category`.`idDepartment` AND `Sectors`.`idSector` = '11' AND `Sectors`.`idProduct` = `Products`.`idProducts` order by `Departments`.`nameDepartments` SELECT `Category`.`nameCategory`, `Category`.`idCategory`, `Category`.`idDepartment` FROM `Category`,`Products`,`Sectors` where `Category`.`idCategory` = `Products`.`idCategory` AND `Sectors`.`idSector` = '11' AND `Sectors`.`idProduct` = `Products`.`idProducts` Wklejam zapytania do bazy danych - również otrzymuje wyniki. Skrypt natomiast nie daje wyników. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 461 Pomógł: 32 Dołączył: 17.09.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
W takim wypadku musisz mieć popsutą klasę Driver ...
|
|
|
![]() ![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 569 Pomógł: 0 Dołączył: 17.08.2003 Skąd: Dąbrowa Górnicza Ostrzeżenie: (0%) ![]() ![]() |
to teraz sprawdz czy w warunkach 'WHERE' wszystkie dane sa prawidlowo wpisane i maja swoje wartosci w obu tablicach dla polaczen
`Category`.`idCategory` = `Products`.`idCategory` `Departments`.`idDepartments` = `Category`.`idDepartment` `Sectors`.`idProduct` = `Products`.`idProducts` nie ma tu bledu skladni tylko blad w zapytaniu taki ze zapytanie nie spelnia warunkow bo polaczone tablice nie posiadaja dla siebie wymaganych rekordow |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 25.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Zapytania są poprawne, bo kazde sie wykonuje w bazie danych, ale nie kazde pobiera sie do tablicy w PHP. Problem był gdzieś indziej. Brakowało "break" po case. Teraz juz działa. Temat uwazam za zakonczony. Dziekuje wszystkim, ktorzy mi pomagali.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 29.09.2025 - 00:51 |