Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Puste zapytanie
Forum PHP.pl > Forum > Przedszkole
Wolfie
Witam

Mam skrypt w ktorym istnieja 2 zapytania, jedno o nazwie $movie_query jest zupelnie prawidlowe , wyswietla sie poprawnie , za to drugie o nazwie $result_query zbudowane w ten sam sposob zupelnie nie istnieje od strony serwera MySQL, ktory widzi je jako puste zapytanie

Oto kod pliku, dosyc dlugi ale zapytania latwo znalezc :
  1. <?php
  2.  
  3.    $link = mysql_connect("localhost", "root", "") or die(mysql_error());
  4.    mysql_select_db("moviesite") or die (mysql_error());
  5.  
  6.    /*Funkcja obliczajaca czy film okazal sie kasowym sukcesem czy sromotna porazka*/
  7.    function calculate_diferences($takings, $cost) {
  8.        $diference = $takings - $cost;
  9.        
  10.        if($diference < 0) {
  11.            $diference = substr($diference, 1);
  12.            $font_color = 'red';
  13.            $profit_or_loss = "$".$diference."m";
  14.        } elseif($diference > 0) {
  15.            $font_color = 'green';
  16.            $profit_or_loss = "$".$diference."m";
  17.        } else {
  18.            $font_color = 'blue';
  19.            $profit_or_los = "Równowaga";
  20.        }
  21.        return "<font color=\"$font_color\">".$profit_or_loss."</font>";
  22.    }
  23.    
  24.    function get_director() {
  25.        
  26.        global $director;
  27.        global $movie_director;
  28.        
  29.        $query_d = "SELECT people_fullname ".
  30.            "FROM people ".
  31.            "WHERE people_id='$movie_director'";
  32.        $result_d = mysql_query($query_d) or die(mysql_error());
  33.        $row_d = mysql_fetch_array($result_d);
  34.        extract($row_d);
  35.        $director = $people_fullname;
  36.    }
  37.    
  38.    function get_leadactor() {
  39.        
  40.        global $leadactor;
  41.        global $movie_leadactor;
  42.        
  43.        $query_a = "SELECT people_fullname ".
  44.            "FROM people ".
  45.            "WHERE people_id='$movie_leadactor'";
  46.        $result_a = mysql_query($query_a) or die(mysql_error());
  47.        $row_a = mysql_fetch_array($result_a);
  48.        extract($row_a);
  49.        $leadactor = $people_fullname;
  50.    }
  51.    
  52.    function generate_ratings($rewiev_rating) {
  53.        $movie_rating = '';
  54.        for($i=0; $i<$review_rating; $i++) {
  55.            $movie_rating .= "img src=\"ptaszek_ok.gif\">&nbsp;";
  56.        }
  57.        return $movie_rating;
  58.    }
  59.    
  60.    $movie_query = "SELECT * FROM movie ".
  61.        "WHERE movie_id ='".$_GET['movie_id']."'";
  62.        echo $movie_query;
  63.    $movie_result = mysql_query($query, $link) or die (mysql_error());
  64.    
  65.    $movie_table_headings=<<<EOD
  66.     <h2><center>Baza danych recenzji filmow</center></h2>
  67.     <table width="70%" border="1" cellpadding="2"
  68.         cellspacing="2" align="center">
  69.         <tr>
  70.             <th>Tytuł filmu</th>
  71.             <th>Rok produkcji</th>
  72.             <th>Reżyser</th>
  73.             <th>Główny aktor</th>
  74.             <th>Czas trwania</th>
  75.             <th>Zysk lub strata</th>
  76.         </tr>
  77. EOD;
  78.    
  79.    
  80.    while($row = mysql_fetch_array($movie_result)) {
  81.        $movie_name = $row['movie_name'];
  82.        $movie_director = $row['movie_director'];
  83.        $movie_leadactor = $row['movie_leadactor'];
  84.        $movie_year = $row['movie_year'];
  85.        $movie_running_time = $row['movie_running_time'];
  86.        $movie_takings = $row['movie_takings'];
  87.        $movie_cost = $row['movie_cost'];
  88.        
  89.        //pobranie imienia i nazwiska rezysera z tabeli people
  90.        get_director();
  91.        
  92.        //pobranie imienia i nazwiska aktora z tabeli people
  93.        get_leadactor();
  94.    }
  95.    
  96.    $review_query = "SELECT * FROM reviews ".
  97.        "WHERE review_movie_id ='".$_GET['movie_id']."' ".
  98.        "ORDER BY review_date DESC";
  99.        
  100.        echo $review_query;
  101.        
  102.    $review_result = mysql_query($review_query, $link) or die(mysql_error());
  103.    
  104.    $review_table_headings =<<<EOD
  105.         <tr>
  106.             <th>Data Wystawienia</th>
  107.             <th>Tytuł recenzji</th>
  108.             <th>Recenzent</th>
  109.             <th>Treść recenzji</th>
  110.             <th>Ocena</th>
  111.         </tr>
  112. EOD;
  113.    
  114.    while($review_row = mysql_fetch_array($review_result)) {
  115.        $review_flag = 1;
  116.        $review_title[] = $review_row['review_name'];
  117.        $reviewer_name[] = ucwords($review_row['reviewer_name']);
  118.        $review[] = $review_row['review_date'];
  119.        $review_rating[] = generate_ratings($review_row['review_rating']);
  120.    }
  121.    
  122.    //tutaj dalszy ciag......
  123. ?>


A to blad ktory wyswietla sie kiedy przechodze do wykonania tego pliku za pomoca zalacznika w poprzednim skrypcie.

Cytat
Zapytanie było puste


Zapytanie jest zbudowane prawidlowo wiec nie wiem skad ten blad, zmienna $_GET['movie_id'] przesyla sie prawidlowo.....
Foxx
Weź to co wyświetla
  1. <?php
  2. echo $review_query;
  3. ?>

i wstaw do np. phpMyAdmina. Jeżeli otrzymasz rekordy to znaczy że php też je dostaje ale je źle obsługujesz.
Jeżeli nie otrzymasz rekordów to znaczy że nie ma takich w bazie albo jest błąd w zapytaniu (ale wtedy powinieneś otrzymywać błąd przy die(mysql_error()). Jeżeli dostaniesz rekordy z bazy i nie będziesz wiedział nadal co jest źle to dostarcz nam jeszcze istotne fragmenty kodu, na przykład w jaki sposób jest wyświetlany komunikat "Zapytanie było puste" - nie ma tego w tym kodzie, który wkleiłeś.
Wolfie
No wlasnie chodzi o to ze ten blad wywala mysql_error();

Gdy probuje wyswietlic zapytanie za pomoca echo $review_query nic nie wyswietla czyli tak jakby nie bylo zapytania.....
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.