Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php, sql] Problem z zestawem rekordow
Forum PHP.pl > Forum > Przedszkole
iMax
Witam. Postanowilem sie troche pouczyc PHP, kozystam z Macromedia Dreamweaver 8 i tez wlasnie kupilem ksiazke "Macromedia Dreamweaver 8 z ASP, PHP i ColdFusion, Oficjalny podrecznik". Wszystko szlo gladziutko, az do lekcji 10. Mialem uzyc polecania SQL JOIN zamiast WHERE, bo podobno jest lepsze. W programie sa specjlane opcje do kodu, zapytan itp, ale trzeba tez samemu wpisywac, a to akurat wykracza poza program, wiec musze recznie. No i wpisalem to co mi kazali:
U mnie to wyglada tak:
  1. SELECT *
  2. FROM tbl_tours INNER JOIN tbl_country ON tbl_country.countryID=tbl_tours.country
  3. ORDER BY tbl_country.countryName

do lacznia sie z baza uzywam pliku, ktorego zawartosc wyglada tak:
  1. <?php
  2. # FileName="Connection_php_mysql.htm"
  3. # Type="MYSQL"
  4. # HTTP="true"
  5. $hostname_conn_newland = "localhost";
  6. $database_conn_newland = "newland_tours";
  7. $username_conn_newland = "root";
  8. $password_conn_newland = "";
  9. $conn_newland = mysql_pconnect($hostname_conn_newland, $username_conn_newland, $password_conn_newland) or trigger_error(mysql_error(),E_USER_ERROR); 
  10. ?>

Blad pewnie ma zwiazek z zapytaniem SQL wiec dodalem to tutaj, abyscie sprawdzili, bo autorzy mogli sie machnac w ksiazce, no chyba ze co innego. To blokuje mi dalsza nauke.
JaRoPHP
Cytat(iMax @ 29.12.2007, 14:28:29 ) *
Mialem uzyc polecania SQL JOIN zamiast WHERE, bo podobno jest lepsze.
Gdzie to wyczytałeś? Pomiędzy JOIN i WHERE jest spora różnica...

Twoje zapytanie SQL-a jest poprawne składniowo (zakładam, że nazwy kolumn tabelach się nie duplikują).

I moje pytanie - jaki błąd się pojawia? Nic nie napisałeś - a wróżek brak smile.gif.

Przenoszę na Przedszkole.
iMax
Bład programu:

DataSources
An unidentifed error has occurred.
nevt
pytania podstawowe: jaki masz serwer www? jaką masz wersję PHP? jaką masz wersję serwera MySQL ? czy na pewno wszystko jest właściwie zainstalowane / skonfigurowane ?

jeżeli tak...
spóbuj użyć mysql_connect() zamiast mysql_pconnect() - ta druga funkcja wymaga odpowiedniej konfiguracji systemu i nie zawsze działa prawidłowo...

btw... po co uzywasz takiich horrendalnie długich nazw zmiennych questionmark.gif szlifujesz swój skill używania keyboard'u questionmark.gif winksmiley.jpg w każdym razie nie podnoszą czytelności kodu, wręcz przeciwnie...

i jeszcze jedno ... nie używaj " (cudzysłów) jako ogranicznika zwykłych łańcuchów znakowych... właściwym symbolem jest ' (apostrof)...
iMax
MySql: MySQL - 5.0.21
PHP: PHP Version 5.1.4

Wszystko elegancko skonfigurowane. Zmiana na connect z pconnect nie pomogla.
Wczesniej rownie uzywalem wielu polecen SQL, ale tylko na tym wyskakuje blad.
Pisze jeszcze, ze taki kod jest identyczny z tym co wyzej napisalem
  1. SELECT *
  2. FROM tbl_tours, tbl_country
  3. WHERE tbl_country.countryID=tbl_tours.country
  4. ORDER BY tbl_country.countryName

ale po zamianie tamtego na ten wyskakuje ten sam blad.
Moze to jest cos od strony bazy?
JaRoPHP
Napisz, jak nazywają się kolumny w owych tabelach.
iMax
O to ci chodzi?
Zrobilem screeny:
JaRoPHP
Wykonaj poniższe zapytanie w phpMyAdmin-ie (i pochwal się wynikiem) - wtedy będzie jasność, czy jest błąd po stronie zapytania, czy trzeba szukać dalej.
  1. SELECT *
  2. FROM tbl_tours INNER JOIN tbl_country ON tbl_country.countryID=tbl_tours.country
  3. ORDER BY tbl_country.countryName
iMax
  1. SELECT *
  2. FROM tbl_tours INNER JOIN tbl_country ON tbl_country.countryID = tbl_tours.country
  3. ORDER BY tbl_country.countryName
  4. LIMIT 0, 30

Wszystko w najmniejszym porzadku - wynik pozytywny, bez bledow.
nevt
a pokaż jak wstawiasz to zapytanie SQL w swoim kodzie... samo zapytanie jest poprawne, więc podejrzewam, że popełniłeś jakiś inny błąd...
iMax
  1. <?php
  2. mysql_select_db($database_conn_newland, $conn_newland);
  3. $query_rs_tourDetail = "SELECT * FROM tbl_tours INNER JOIN tbl_country ON tbl_country.countryID = tbl_tours.country ORDER BY tbl_country.countryName";
  4. $rs_tourDetail = mysql_query($query_rs_tourDetail, $conn_newland) or die(mysql_error());
  5. $row_rs_tourDetail = mysql_fetch_assoc($rs_tourDetail);
  6. $totalRows_rs_tourDetail = mysql_num_rows($rs_tourDetail);
  7. ?>
nevt
poddaje się - kod wygląda na poprawny... błąd jest chyba gdzie indziej - może jakaś literówka ? te wieloczłonowe nazwy ciężko się czyta...

dla spokoju sumienia wymieniłbym jeszcze cudzysłowy na apostrofy - a nuż masz w tym środowsku zdefiniowaną jakąś stałą która pokrywa się z którymś członem zapytania... czyli:
  1. <?php
  2. $query_rs_tourDetail = 'SELECT * FROM tbl_tours INNER JOIN tbl_country ON tbl_country.countryID=tbl_tour
    s.country ORDER BY tbl_country.countryName;'
    ;
  3. ?>


... a przy okazji... jak skopiowałem twój kod, to niektóre spacje były "twardymi spacjami"... przyjżyj się temu...
iMax
Siedze i siedze nad tym, juz ktoras godzine... Wydaje mi sie ze to moze byc cos z programem, znalazlem takie cos:
http://kb.adobe.com/selfservice/viewConten...redeployScripts
i wlasnie sprawdzam...


Nic... Za nic nie umiem tego rozwiazac. Macie jeszcze jakies propozycje?


Po dlugich meczarniach, testach, edycjach itp moge stwierdzic ze blad lezy tylko i wylacznie po stronie programu. Nie bede juz tego walkowal dalej (o ile nie okaze sie w dalszej czesci ksiazki niezbede). Bez tego musze poswiecic czas na wprowadzanie kodu, ale przezyje...
yaotzin
Czego używasz jako serwera questionmark.gif tzn chodzi mi o LAMP (Linux, Apache, MySQL, PHP), jakiejś gotowej paczki czy może sam konfigurowałeś wszystko. Durga rzecz posprawdzaj zmienne, może gdzieś któraś ci się nie pokrywa. Bo błąd jest związany z pobieraniem danych ze źródła. Spróbuj przeanalizować kod z książką. Być może masz błąd w samej konfiguracji serwera...
iMax
Nie, nie, serwer i wszystko jest ok. Chodzi o to ze dreamweaver w panelu z boku wyswietla zawsze kolumny z tabel, a dzieki temu moge sobie szybko je poprzeciagac na srodkowa czesc strony czyli okno widoku, co ulatwia mi prace, bo nie musze pisac tego kodu. No ale niestety wystepuje blad programu i musze go wpisywac, ale na szczescie tylko przy tego typu poleceniach SQL. Sam skrypt poza programem w przegladarce chodzi bez zadnych zarzutow, to tylko wina programu.
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.