Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]Warunek do zapytania tablicy mySQL, Pytania odnośnie warunków(liczby i daty)
-alexx600-
post
Post #1





Goście







Witam.
Dopiero rozpoczynam swoją przygodę z php i mam pewien problem.

Jeżeli dam zapytanie
  1. $wynik = mysql_query('SELECT * FROM `bee` where `to`>14 ')


Wszystko działa świetnie.Tablica się wyświetla zgodnie z podanym warunkiem. Jeżeli jednak zamienię to na zmienną to wszystko się sypie. Dostaje standardowy błąd zapytania- taki kod


  1. $Cto=14;
  2. $wynik = mysql_query('SELECT * FROM `bee` where `to`>`$Cto` ')


Próbowałem zarówno
`jak i bez niczego,miałem wersję również z "


Inny aspekt to porównywanie daty.
  1. $wynik = mysql_query('SELECT * FROM `bee` where `d`>$d ')



Dzięki za jakiekolwiek podpowiedzi:)
Go to the top of the page
+Quote Post
Greg0
post
Post #2





Grupa: Zarejestrowani
Postów: 264
Pomógł: 54
Dołączył: 31.08.2007
Skąd: Tychy

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


  1. $Cto=14;
  2.  
  3. $wynik = mysql_query('SELECT * FROM `bee` WHERE `to`>'.$Cto)


Ten post edytował Greg0 5.10.2013, 17:47:33
Go to the top of the page
+Quote Post
mstraczkowski
post
Post #3





Grupa: Zarejestrowani
Postów: 273
Pomógł: 52
Dołączył: 3.02.2013
Skąd: Przemyśl

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


Nie umieszczaj wartości w odwróconych apostrofach, tylko w zwykłych apostrofach.
Odwrócone apostrofy służą do podawania nazwy bazy danych, tabeli lub kolumn, ale nie są wymagane.

To jest przykład poprawnego zapytania:

  1. SELECT * FROM `bee` WHERE `to` > '2013-10-05'

Zazwyczaj odwrócone apostrofy stosuje się, jeżeli nazwa kolumny wchodzi w konflikt z jakąś zarezerwowaną nazwą
Przykładowo jeżeli nazwa kolumny to time, to powinno się ją umieścić w odwróconych apostrofach.

Ale ogólnie to stosowanie odwróconych apostrofów jest dobrą praktyką, tylko wartości należy umieszczać w zwykłych apostrofach (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
alexx600
post
Post #4





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 5.10.2013

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


@Greg0
Dzięki o to mi chodziło:)

@mstraczkowski
OK, dzięki za te kilka słów o apastrofach:)
Chciałbym powiedzieć,że to działa, ale nie działa.

Generalnie date mam pod $d drobnostka, ale od razu zmieniłem to "to":)

Wyskakiwał mi błąd
Kod
Parse error: syntax error, unexpected T_LNUMBER in /virtual/blablabla.pl/bla.php on line 15


Pomyślałem,że może dlatego, że w data mam również aktualny czas(wraz z godzina,etc - date("Y-m-d H:i:s") )
Stwierdziłem porównywałem już z pełnym stringiem(skopiowanym z wyświetlonej tabeli. Nie wiele to pomogło.

W bazie miałem domyślny tryb text, zmieniłem na data, przetestowałem i wróciłem do tekstu ponownie.
Prawdę powiedziawszy, nie wiem co z tym fantem teraz zrobić...

W dalszym ciągu potrzebuje pomocy...(IMG:style_emoticons/default/sad.gif)
Cały czas mam ten sam błąd.
Próbowałem rożnymi metodami. Próbowałem dać "DATE" przed 'd' oraz przed stringiem. Nie pomogło.
Próbowałem dodać ";"-Bez zmian. Nawet użyłem mks? ( przy warunku np 'd'>2 , wszystko działało, nie dostawałem błędu?Tego zupełnie nie rozumiem)
Ktoś ma może jakiś pomysł?

Dodam tylko,że mam stronę na cda.pl .
Przy uzupełnianiu tablicy zwykły insert nie działał, (Nie wiem, może to zależne jest od wersji bazy danych)
używałem takiego kodu
  1. $ins = @mysql_query('INSERT INTO `bee` (`ti`,`to`,`h`,`p`,`v`,`d`) VALUES("'.$ti.'","'.$to.'","'.$h.'","'.$p.'","'.$v.'","'.$d.'")') or die(mysql_error());

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.08.2025 - 14:21