Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> problem z wyciagnieciem danych [mysql]
Roguś
post 14.08.2007, 20:08:29
Post #1





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 14.12.2006
Skąd: Częstochowa

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


  1. $query = mysql_query("SELECT * FROM slowa WHERE '$szukaj' LIKE '$wpis'") OR die ('blad seleck');


Niby banalne ale nie chodzi :/ wpisuje w formularzu wyraz i chce wyszukać w jakiejś tabeli


--------------------
http://www.twojanutka.pl Twoja Nutka - Moja pierwsza stronka
Go to the top of the page
+Quote Post
barat
post 14.08.2007, 20:33:40
Post #2





Grupa: Zarejestrowani
Postów: 183
Pomógł: 0
Dołączył: 19.05.2007

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


WHERE '$szukaj' LIKE '$wpis'

Tego nie rozumiem... które z tych dwóch jest nazwą kolumny? Oba chyba nie mogą być zmiennymi... w końcu szukasz w tabeli MySQL... to które jest nazwą kolumny musi być bez $ i bez ' ' ... chociaż ja początkujący jestem i mogę się mylić ...

Ten post edytował barat 14.08.2007, 20:34:24
Go to the top of the page
+Quote Post
Roguś
post 14.08.2007, 21:43:58
Post #3





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 14.12.2006
Skąd: Częstochowa

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


Mam przykłady :
  1. SELECT * FROM users WHERE login = coś

To jest na sztywnego. A ja chce mam 2 pola, gdzie przeszukuje mi baze na 2 sposoby. Wpisuje wyraz i szuka mi go w użytkonikach lub (opcja select) w innych wyrazach. np
  1. SELECT * FROM wyrazy WHERE jakis = coś


--------------------
http://www.twojanutka.pl Twoja Nutka - Moja pierwsza stronka
Go to the top of the page
+Quote Post
PanGuzol
post 14.08.2007, 22:41:31
Post #4





Grupa: Zarejestrowani
Postów: 353
Pomógł: 50
Dołączył: 28.07.2005
Skąd: Łaziska Górne

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


Niedziała to znaczy nic nie znajduje czy masz jaki8ś error??

Jesli nic nie znajduje to spróbuj

  1. SELECT * FROM slowa WHERE '$szukaj' LIKE %'$wpis'%;


ale jeśli skopiowałeś to bezpośrednio z kodu to zapomniałeś średnika na końcu zapytania SQL


--------------------
Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej"
"NIE kradnij, rząd nielubi konkurencji"
Go to the top of the page
+Quote Post
Roguś
post 15.08.2007, 11:10:47
Post #5





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 14.12.2006
Skąd: Częstochowa

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


Jak spróbowałem zrobić tak jak ty masz to wyswietla mi blad select. Wczesniej jak ja robiłem to wyswietlalo mi sie ok tylko nic nie znajdowało mimo ze było to w bazie


--------------------
http://www.twojanutka.pl Twoja Nutka - Moja pierwsza stronka
Go to the top of the page
+Quote Post
Swirek
post 15.08.2007, 11:18:52
Post #6





Grupa: Zarejestrowani
Postów: 221
Pomógł: 20
Dołączył: 4.05.2006
Skąd: Polska

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


  1. SELECT * FROM twojanazwabazychybaslowa WHERE nazwatabeli LIKE '%$wpis%'

aby uniknąć nieporozumień
  1. $query = mysql_query("SELECT * FROM slowa WHERE $szukaj LIKE '%$wpis%';");

ewentualnie mozesz dodac wedlug czego sortowac ale to napewno wiesz ORDER BY wedlugczegosortowac
jeśli $szukaj zawiera nazwe tabeli to ma byś $szukaj

Ten post edytował Swirek 15.08.2007, 11:23:56


--------------------
Macho odpadacie ;) .
Go to the top of the page
+Quote Post
Roguś
post 15.08.2007, 11:29:40
Post #7





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 14.12.2006
Skąd: Częstochowa

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


Wyskakuje blad select :/ Próbowałem znaleźć cos na necie w ksiazce przepisałem tak jak jest a i tak dupa ;/ Wyświetliłem obie zmienne by zobaczyc czy maja jakąś wartość = wszystko ok. Próbowałem na "sucho" Raz bez pola select czyli wpisałem po prostu WHERE login a dałem w 'inpucie ' ola (jest taki user) i tez mi nie znalazło. Dałem na odwrót, pole select a i bez inputa czyl WHERE $szukaj LIKE ola i też. Wniosek jest taki ze nie wyszukuje mi ze zmiennymi :/


--------------------
http://www.twojanutka.pl Twoja Nutka - Moja pierwsza stronka
Go to the top of the page
+Quote Post
Swirek
post 15.08.2007, 11:31:36
Post #8





Grupa: Zarejestrowani
Postów: 221
Pomógł: 20
Dołączył: 4.05.2006
Skąd: Polska

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


wpisałeś tę 2 linijke?
błąd select to znaczy ten or die?
a jeśli zrezygnujesz z or die to zadziała?


--------------------
Macho odpadacie ;) .
Go to the top of the page
+Quote Post
Roguś
post 15.08.2007, 11:42:57
Post #9





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 14.12.2006
Skąd: Częstochowa

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


Jak usunąłem or die :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\usr\krasnal\konto\admin\admin.php on line 36" title="Zobacz w manualu PHP" target="_manual
Bardzo dziwne. Pokazuje mi w środku kodu. Że :
  1. while ($row1 = mysql_fetch_array($query)) {
  2.  
  3. echo '<tr><td>';
  4. echo $row1['data'];
  5.  
  6. echo '</td><td>';
  7.  
  8. echo $row1['kategoria'];
  9. echo '</td><td>';
  10. [b][color="#000000"]echo $row1['login'];[/color][/b]
  11.  
  12. }

to w tej pogrubionej linijce jest coś zle :/ mam taki kod ze jeśli wszedłeś na zakładke to pokazuje wszystkie słow, gdy wybierzesz szukaj to zwróci wynik i ten kod while jest identyczny do tamtego tylko tam jest $row a tu $row1 . usunąłem ta linijke i nadal błąd :/ Usunąłem całe while no i wyswietliła sie strona ale oczywiscie bez danych.


--------------------
http://www.twojanutka.pl Twoja Nutka - Moja pierwsza stronka
Go to the top of the page
+Quote Post
Swirek
post 15.08.2007, 11:48:27
Post #10





Grupa: Zarejestrowani
Postów: 221
Pomógł: 20
Dołączył: 4.05.2006
Skąd: Polska

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


kolor wez w pojedyncze klamerki może pomoże wogóle używasz bbcode? niewiem
a na tym dole namieszałeś że i tak nie załapaem
o widze mike zaraz będzie po problemie smile.gif

Ten post edytował Swirek 15.08.2007, 11:50:45


--------------------
Macho odpadacie ;) .
Go to the top of the page
+Quote Post
Roguś
post 15.08.2007, 11:53:28
Post #11





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 14.12.2006
Skąd: Częstochowa

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


Ten kolor to mi sie wrzucił niechcaco to na forum tongue.gif Chodzi o to ze jak wyciołem całe while to było ok. A jak tylko kawałek to nic z tego nadal blad. Ten kod jest prawie identyczny do tego co wyrzuca WSZYSTKIE słowa. Tylko różni sie zapytaniem mysql i $row (tylko 1). Kod ktory wyswietla wszystko ma $row a kod ten co wyszukuje ma $row1


--------------------
http://www.twojanutka.pl Twoja Nutka - Moja pierwsza stronka
Go to the top of the page
+Quote Post
Swirek
post 15.08.2007, 11:55:58
Post #12





Grupa: Zarejestrowani
Postów: 221
Pomógł: 20
Dołączył: 4.05.2006
Skąd: Polska

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


$row['kategoria'] nie używaj klamerek nie jestem pewny czy to błąd ale nie powinno ich chyba tam być
ja zawsze pisze $row[kategoria]

Ten post edytował Swirek 15.08.2007, 11:56:50


--------------------
Macho odpadacie ;) .
Go to the top of the page
+Quote Post
Roguś
post 15.08.2007, 11:57:14
Post #13





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 14.12.2006
Skąd: Częstochowa

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


Zawsze dawałem i było ok smile.gif


--------------------
http://www.twojanutka.pl Twoja Nutka - Moja pierwsza stronka
Go to the top of the page
+Quote Post
mike
post 15.08.2007, 12:04:08
Post #14





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


~Roguś problem nie leży w pętli. Kłopot zaczyna się zanim do niej wejdziesz i zaczniesz się w niej poruszać.Zwróć uwagę na błąd:
Cytat
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\usr\krasnal\konto\admin\admin.php on line 36
To oznacza że to co dostała funkcja mysql_fetch_array() było już błędne.Wniosek: to co zwróciła funkcja mysql_query() jest błędne bądź (to ważne!) zapytanie zwróciło 0 wyników.Żeby sprawdzić co się stało wyświetl to co zwraca mysql_error" title="Zobacz w manualu PHP" target="_manualoraz sprawdź ile wyników masz w rezultacie wykonania zapytania (mysql_ num_ rows" title="Zobacz w manualu PHP" target="_manual).Sprawdź to oczywiście zanim wejdziesz do pętli (zanim wykonasz mysql_ fetch_ array" title="Zobacz w manualu PHP" target="_manual).

--update--
P.S.
Pisanie $row[kategoria] to błąd. Zresztą zawsze używanie indeksów tekstowych w tablicach asocjacyjnych bez apostrofów bądź znaków cudzysłowu to błąd.Parser PHP działa tak: Natrafia na indeks kategoria, bierze go za stałą ponieważ nie jest zapisany jako string (nie ma " ani ') ale takiej stałej nie ma. Parser generuje Warning (albo Notice, nie pamiętam), ale ten błąd nie jest krytyczny więc skrypt jedzie dalej.Parser tworzy stałą której brakuje i nadaje jej wartość taką samą jak jej nazwa czyli mamy stałą kategoria o wartości kategoria. Teraz ma indeks i może znaleźć wartość w tablicy. Zwraca ją a, że wyświetlanie błędów masz wyłączone to wszystko gra.
Otóż nie. Takie błędy mogą spowolnić działanie skryptu o prawie 30%
Go to the top of the page
+Quote Post
Roguś
post 15.08.2007, 12:04:50
Post #15





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 14.12.2006
Skąd: Częstochowa

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


Wyrzuciło mi
Cytat
login
ola
Nieznana kolumna 'ola' w where clause

te 2 pierwsze to zmienne - ok . Ale on ma mi szukać rekordu a nie kolumny :/


--------------------
http://www.twojanutka.pl Twoja Nutka - Moja pierwsza stronka
Go to the top of the page
+Quote Post
mike
post 15.08.2007, 12:08:59
Post #16





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(Roguś @ 15.08.2007, 13:04:50 ) *
Ale on ma mi szukać rekordu a nie kolumny :/
no chłopie.
Przecież zapytanie robi dokładnie to co mu kazałeś, więc się nie dziw.

Szuka rekordów ale tak jak mu napisałeś: "Szukaj tych rekordów gdzie pole (kolumna) ola jest równa cośtam"
A Ty w tabeli nie masz pola ola

Wniosek: Zmienna $szukaj ma wartość ola, a nie powinna mieć bo nie ma takiego pola.
Go to the top of the page
+Quote Post
Swirek
post 15.08.2007, 12:09:02
Post #17





Grupa: Zarejestrowani
Postów: 221
Pomógł: 20
Dołączył: 4.05.2006
Skąd: Polska

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


I przy okazji się czegoś nauczyłem, żeby używać '' smile.gif
a chyba to co Ci wyrzuciło już daje to myślenia co może być nie tak
wcześniej jednak napisałeś
"Wyświetliłem obie zmienne by zobaczyc czy maja jakąś wartość = wszystko ok."
musze to tu dopisać
zmienna $szukaj której doczepiłem się w pierwszym poście w tym temacie tongue.gif
ide na obiad.
przy okazji wszystkiego najlepszego na nowej drodze życia Mike smile.gif

---
Dziękuję.
~mike


Ten post edytował Swirek 15.08.2007, 12:11:51


--------------------
Macho odpadacie ;) .
Go to the top of the page
+Quote Post
Roguś
post 15.08.2007, 12:11:59
Post #18





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 14.12.2006
Skąd: Częstochowa

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


Aha... nie wiem co zrobiłem ale chodzi tongue.gif Thx


--------------------
http://www.twojanutka.pl Twoja Nutka - Moja pierwsza stronka
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: 22.06.2025 - 10:36