Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Warunek do zapytania tablicy mySQL
Forum PHP.pl > Forum > Przedszkole
alexx600
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:)
Greg0
  1. $Cto=14;
  2.  
  3. $wynik = mysql_query('SELECT * FROM `bee` WHERE `to`>'.$Cto)
mstraczkowski
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 smile.gif
alexx600
@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...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());

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.