PHP i MySql nie działa zapytanie

0

Witam!
Mam taki mały problemik. Otóż poniższy kod nie działa i nie mam pojęcia dlaczego. Łącze się do bazy danych, pobieram z niej kilka rzeczy a to jedno zapytanie odmawia posłuszeństwa.

$query = "SELECT Opis FROM terminarz WHERE Data = $data";	
$result = mysql_query ($query) or die ("Zapytanie zakończone niepowodzeniem");
$line = mysql_fetch_row($result);
print($line[0]);

Po wykonaniu tego kody nic nie zostaje wypisane. A Data w tabeli i $data maję te same wartości więc powinno działać. Co robię nie tak?

0

Powinno chyba być:
$query = "SELECT * FROM terminarz WHERE Data = $data";

rotfl - no raczej jednak nie :D

"select *" nie jest dobrym rozwiązaniem i w poważnych firmach jest wręcz zakazane - nie powinno się tego używać ze względu na ewentualne zmiany w strukturze bazy (np. dodanie pola), które nie powinny mieć wpływu na otrzymane dane w programie/skrypcie

więc jak nie wiesz to nie pisz - szkoda miejsca w bazie

[<font color="blue">dopisane</span>]
widać autor postu, który skomentowałem uznał, że nie chce się ujawniać i wyciął swoje dzieło ;)

0

S<ort>prubuj</ort> umieścić kropkę przed $

[sciana]

a tak na serio spróbuj zrobić przed zapytaniem echo($data) i zobacz czy w tej zmiennej na pewno jest to co chciałeś... i chyba w SQL'u nie ma to znaczenia ale zapisz nazwe pola i tabeli z małych liter.

0

Wielkość liter w nazwie pola i tabeli ma znaczenie. Inaczej jest błąd, że tabela/kolumna nie może zostać odnaleziona. Więc porównaj wielkość liter w bazie i w zapytaniu (kto powiedział, że w bazie mają być z małej litery? Ja u siebie piszę zazwyczaj z dużej).

0

A ja myślę, że to format daty w zmiennej $data, poza tym data chyba musi być podana w cudzysłowie.

$sql = 'SELECT pole1, pole2 FROM tabela WHERE data="'.date("Y-m-d").'";';

1 użytkowników online, w tym zalogowanych: 0, gości: 1