Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL][MySQL][PHP]Błąd w zapytaniu.
Forum PHP.pl > Forum > Przedszkole
prostowniczek
Wywala mi błąd:
Parse error: syntax error, unexpected T_VARIABLE in /home/prostown/public_html/poczta.php on line 62

Treść zapytania:

  1. $link=mysql_query('SELECT * FROM poczta adresat='$adresat' ORDER BY data DESC LIMIT '.$pocz.','.$kon.'') or die('Zle zapytanie.');

phpion
Przy $adresat brakuje Ci kropek (jak przy $pocz i $kon) oraz brakuje WHERE między poczta a adresat.
prostowniczek
Mam takie teraz oto zapytanie, lecz wywala mi, że Zle zapytanie. Nie wiem co jest nie tak. To zapytanie ma na celu paginacje wyników skrzynki odbiorczej, gdzie ma mi wyświetlać wszystkie moje wiadomości.

  1. $link=mysql_query("SELECT * FROM poczta WHERE adresat='.$adresat.' ORDER BY data DESC LIMIT '.$pocz.','.$kon.'") or die('Zle zapytanie.');


Oryginalny kod:

  1. if(isset($_GET['task']) && $_GET['task']=='odbiorcza') {
  2.  
  3. <table cellspacing="0" width="100%">
  4.  
  5. <!-- Table Header -->
  6. <thead>
  7. <tr>
  8. <th>Tytuł wiadomości</th>
  9. <th>Autor</th>
  10. <th>Data</th>
  11. <th>Usuń</th>
  12. </tr>
  13. </thead>';
  14. $adresat = $_SESSION['login'];
  15.  
  16. $page = $_GET['page'];
  17.  
  18. if($page<0)
  19. $page = 0;
  20. else
  21. if( empty($page) || !is_numeric($page) )
  22. $page = 0;
  23. $query = "SELECT count(ID) FROM poczta WHERE adresat='$adresat' ORDER by data DESC";
  24. $result = mysql_query($query);
  25. $row = mysql_fetch_assoc($result);
  26.  
  27. $ile_jest_newsow = $row['count(ID)']-10;
  28. $na_strone = 10;
  29. $ile_stron = ceil($ile_jest_newsow / $na_strone);
  30. $pocz = $page*$na_strone;
  31. $kon = $na_strone;
  32.  
  33. $link=mysql_query("SELECT * FROM poczta WHERE adresat='.$adresat.' ORDER BY data DESC LIMIT '.$pocz.','.$kon.'") or die('Zle zapytanie.');
  34. while($wiersz=mysql_fetch_array($link))
  35. {
  36. echo '<tbody>
  37.  
  38. <tr>';
  39.  
  40. if($wiersz['przeczytana'] == 0) {
  41. echo '<td><a href="poczta-czytaj.php?task=czytaj&id='.$wiersz['id'].'">'.$wiersz['temat'].' </a><font color="red">(nowa)</font></td>';
  42. } else {
  43. echo '<td><a href="poczta-czytaj.php?task=czytaj&id='.$wiersz['id'].'">'.$wiersz['temat'].'</a></td>';
  44. }
  45.  
  46. echo ' <td class="center">'.$wiersz['nadawca'].'</td>
  47. <td class="center">'.$wiersz['data'].'</td>
  48. <td class="center"><a href="poczta.php?task=usun&id='.$wiersz['id'].'">Usuń wiadomość</a></td>
  49. </tr><!-- Table Row -->
  50.  
  51. </tbody>';
  52. }
  53. echo '</table>';
  54. echo "<br>";
  55. $b =1;
  56.  
  57. for ($a=1; $a<$ile_stron+2; $a++)
  58. {
  59. if ($a==$page+1){
  60. echo '<div class="page active">'.$b.'</div> ';
  61. }
  62. if ($a != $page+1){
  63. echo '<a href="?task=odbiorcza&page='.($b-1).'" class="page gradient">'.$b.'</a> ';
  64. }
  65. $b++;
  66. }
  67.  
  68. }
Elber
  1. $link=mysql_query("SELECT * FROM poczta WHERE adresat="'.$adresat.'" ORDER BY data DESC LIMIT "'.$pocz.'", "'.$kon.'") or die(mysql_error());
prostowniczek
Niestety czyta tylko tkaie zapytanie:

  1. $link=mysql_query("SELECT * FROM poczta WHERE adresat='.$adresat.' ORDER BY data DESC LIMIT '.$pocz.', '.$kon.'") or die(mysql_error());


A błąd wywala:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''.0.', '.10.'' at line 1
Rysh
  1. $link=mysql_query("SELECT * FROM poczta WHERE adresat=". $adresat ." ORDER BY data DESC LIMIT ". $pocz .", ". $kon ."") or die(mysql_error());
hondek
chyba i jedno i drugie powyżej będzie błędne, jeżeli pole 'adresat' to pole tekstowe to jego wartość musisz je dac w ''

  1. $link=mysql_query("SELECT * FROM poczta WHERE adresat='".$adresat."' ORDER BY data DESC LIMIT '.$pocz.', '.$kon.'") or die(mysql_error());
prostowniczek
Ok. Teraz wywala: Unknown column 'prostowniczek1234' in 'where clause'

Nie wiem czemu ale w bazie mam wiadomość gdzie adresatem jetsem ja czyli prostowniczek1234.

Może coś nie tak w tym zapytaniu?

Linia 24:
  1. $query = "SELECT count(ID) FROM poczta WHERE adresat='$adresat' ORDER by data DESC";
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.