php i sql, czyli dlaczego mam błąd w składni

0

Witajcie.
Mam pewien problem ze składnią, robie stronke z <ort>wykożystaniem</ort> php i BD. Wszystko szło dobrze do czasu kiedy musiałem zastosować łączenie dwoch tabel.

Tutaj kawałek kody php:

   <?php

{
 $res = sqlite_query($db, "SELECT film.tytul_polski, film.tytul_oryginalny, film.opis, film.obsada , rezyser.rezyser FROM film , rezyser WHERE film.rezyser = rezyser.id_rezyser ");
}

if (!$res)
	{
	echo "Brak danych !";
	}
	else
	{
	while ($row = sqlite_fetch_array($res))
		{
echo "<h5>$row[film.tytul_polski]</h5><br> <h2>$row[film.tytul_oryginalny]</h2> 

Składnia jest widocznie niepoprawna, bo mi nie wyswietla na stronce wyników zapytania :(.

0

Może spróbuj wykonać zapytanie na lokalnej instancji bazy przez program konsolowy i zobaczysz jaki jest komunikat błędu. to może być kluczowa wiadomość na drodze do rozwiązania problemu. Jak nic ci to nie powie, to podaj treść komunikatu.

0
chodnik napisał(a)

Może spróbuj wykonać zapytanie na lokalnej instancji bazy przez program konsolowy i zobaczysz jaki jest komunikat błędu. to może być kluczowa wiadomość na drodze do rozwiązania problemu. Jak nic ci to nie powie, to podaj treść komunikatu.

w tym rzecz ze w konsoli wszystko idzie dobrze, zapytanie jest poprawne, wysypuje sie dopiero przy tej linijce:

echo "<h5>$row[film.tytul_polski]</h5><br> <h2>$row[film.tytul_oryginalny]</h2> 
0

echo "<h5>$row['film.tytul_polski']</h5><br> <h2>$row['film.tytul_oryginalny']</h2>
Powyżej jest moja propozycja, różni się cudzysłowami.

0

"SELECT film.tytul_polski, film.tytul_oryginalny, film.opis, film.obsada , rezyser.rezyser FROM film , rezyser WHERE film.rezyser = rezyser.id_rezyser "

Na przyszłość polecam używać aliasów, będzie ci łatwiej:

"SELECT f.tytul_polski, f.tytul_oryginalnyf.opisffilm.obsada , r.rezyser FROM film f , rezyser r WHERE f.rezyser = r.id_rezyser "

O ile ta SQL lite pozwala na aliasy tabel

0

cudzysłowów się nie używa w ciągach
myślę że chodzi o to że indeks w rekordzie nie ma wcale takiej nazwy, a jaką ma - możesz sprawdzić wpisując:

print_r($row);

w miejscu gdzie normalnie wyświetlałbyś te dane

0

A żeby wszystko działało napisz sobie w SELECT przykładowo film.tytul_polski AS tytul i używaj potem $row['tytul'].

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