![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 1 Dołączył: 19.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Chcialem przed wykonaniem zapytania sprawdzic czy istnieje juz odpowiedni wpis w bazie. Kod nie działa a wygląda tak:
(...)
Niby banalna sprawa ale nie dziala. Nie działa już w tym: echo $znaleziono; miejscu. Nie wyświetla nic i za każdym razem dodaje do bazy (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Probowalem też z COUNT(*) as ilosc ale to samo. co robię zle? Ten post edytował MalyKazio 25.12.2005, 00:47:16 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 24.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Sprobuj takiego zapytania
i sprawdz czy przypadkiem zmienna $_POST['hodowla'] jest poprawnie napisana bo czasem duza litera moze narobic problemow (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Ten post edytował mikess 25.12.2005, 01:11:34 |
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
A ja proponuję zmienić podejście.
IMO sprawdzanie czy coś jest już w bazie danych tylko po to żeby to dadać lub nie jest niepotrzebne. Bezsensowna operacja. 1. Zakładasz na pola, które mają być unikalne odpowieni klucz (UNIQUE) 2. Dodajesz rekord. 3. Jeśli takiego jeszcze nie było to wszystko spoko. 4. Jeśli juz był to baza nie dada danych a zwróci komunikat o kodzie błądu 1062. Banalne i nie trzeba się męczyć. BTW już komuś tak polecałem: Ponowny zapis do bazy po odświeżeniu strony. Jest tam jakiś kawałek kodu, który naświetli Ci sprawę. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 1 Dołączył: 19.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie mikess
Ale skad taka różnica w cudzysłowach? Wszędzie indziej działa...kiedy dodaje pola do bazy, kiedy wyciągam z bazy... Czym różni się (z punktu widzenia interpretatora php) kod:
Od: (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 24.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
podejrzewam ze zmienna $_POST['hodowla'] nie jest typu int wiec musi byc w cudzyslowiach bo baza danych przyjmuje wszystkie rekordy w cudzyslowiach oprocz integer-ów (chociaz int z cudzyslowiem tez dzialaja (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ) czyli wszystkie zmienne w zapytaniu do bazy musisz uzywac cudzysłowiów i mozesz stosowac cos takiego
lub
oba powiny dzialac |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 1 Dołączył: 19.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie za wyjaśnienie. Faktycznie, zmienna hodowla jest typu text. czyli wszedzie, gdzie dodaje do bazy danych i pobieram z niej to powinieniem ujac zmienne w takie skomplikowane cudzysłowy?
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 24.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
własnie tak wszystko procz int musi byc w cudzysłowiach (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 4.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
w apostrofach nie w cudzyslowach, najlepiej tak
to tak jak w php - sa to po prostu stringi, nie moga byc niczym nie 'polaczone', w koncu skad MySQL by "wiedzialo", czy jakies kolejne slowo to jakies polecenie/funkcja, czy tylko slowo do wstawienia do bazy? Ten post edytował qbuz 28.12.2005, 05:48:39 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 401 Pomógł: 1 Dołączył: 10.03.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
A może chodzi po prostu o literówkę w zmiennej w 4 linii:
przed tym używasz zmiennej $wykonaj a tu używasz $wynonaj pozdrawiam |
|
|
![]()
Post
#10
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Cytat własnie tak wszystko procz int musi byc w cudzysłowiach Ale i tak bazka sobie rzutuje na format pola (przewaznie tak jest), wiec najlepiej posylac wszystko jako string. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 24.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(qbuz @ 2005-12-28 04:47:20) w apostrofach nie w cudzyslowach, najlepiej tak
to nie ma az takie roznicy czy w cudzyslowiach czy w apostrofach bo mozna to zapisac na 4 sposoby
i te dwa sposoby co wyrzej napisalem w sumie jak kto woli ale chyba gdzies czytalem ze apostrofy są szybciej interpretowane przez php (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 4.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cytat ale chyba gdzies czytalem ze apostrofy są szybciej interpretowane przez php no to dobrze czytales i wlasnie dlatego napisalem, ze "tak najlepiej" ;] w przypadku apostrofow ' ' php zwraca po prostu danego stringa, a w przypadku cudzyslowow " " parser php poszukuje jeszcze zmiennych itp. (parsuje ten kod), stad nieco dluzsze wykonywanie Ten post edytował qbuz 29.12.2005, 03:54:05 |
|
|
![]()
Post
#13
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Cytat $zapytanie = "SELECT * FROM hodowle WHERE hodowla=\"".$_POST['hodowla']."\""; Ten kod jest niepoprawny, poniewaz w SQLu " sie daje w nazwach tabel, pol itd a nie do stringu. Do stringu uzywa sie ' |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 24.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(SongoQ @ 2005-12-29 10:59:58) Cytat $zapytanie = "SELECT * FROM hodowle WHERE hodowla=\"".$_POST['hodowla']."\""; Ten kod jest niepoprawny, poniewaz w SQLu " sie daje w nazwach tabel, pol itd a nie do stringu. Do stringu uzywa sie ' jezeli to co napisales jest niezgodne ze standardem SQL to sie z Tobą zgodze ale jezeli nie to niestety musze Cie zmartwic ale ten kod równiez dziala (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#15
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Lepiej pisac cos co na kazdej bazie bedzie dzialac niz pozniej meczyc sie ze cos jest nie tak.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 20:43 |