Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Błąd z odbieraniem rekordu z bazy
Komiłaj
post 10.12.2010, 23:39:40
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 10.12.2010

Ostrzeżenie: (0%)
-----


Potrzebuję pomocy. Kiedy chcę wyciągnąć rekord z bazy, strona zwraca mi:

BŁĄD Something is wrong in your syntax obok ''strony' WHERE 'id' = 1' w linii 1

(na końcu adresu dodaję ?site=1)
(w header.php skrypt łączy się z bazą)
plik index.php:


  1. <?php
  2. include('includes/header.php');
  3.  
  4. ini_set('display_errors','1');
  5.  
  6. if (!isset($_GET['site']))
  7. $site=1;
  8.  
  9. else
  10. $siteID = mysql_fetch_array(mysql_query("SELECT 'id' FROM 'strony' WHERE 'id' = ".$_GET['site']) or die('BŁĄD '.mysql_error()));
  11. $tresc = mysql_fetch_array(mysql_query("SELECT 'tresc' FROM 'strony' WHERE 'id' = ".$siteID) or die('BŁĄD '.mysql_error()));
  12. $tytul = mysql_fetch_array(mysql_query("SELECT 'tytul' FROM 'strony' WHERE 'id' = ".$siteID) or die('BŁĄD '.mysql_error()));
  13.  
  14. echo ("<b> ".$tytul."</b><br />");
  15. echo $tresc;
  16.  
  17. echo ("<br /><br />");
  18.  
  19. include('includes/footer.php');
  20. ?>
  21.  
  22.  


Przy czym nie widzę tam błędu. Może dlatego, że jestem laikiem smile.gif
Cóż zaradzić?

BTW zrzut bazy:


Ten post edytował Komiłaj 10.12.2010, 23:41:54
Go to the top of the page
+Quote Post
wookieb
post 11.12.2010, 00:14:59
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Temat: Jak poprawnie zadac pytanie Od drugiego podpunktu


--------------------
Go to the top of the page
+Quote Post
sadistic_son
post 11.12.2010, 03:55:54
Post #3





Grupa: Zarejestrowani
Postów: 1 489
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


1) W 8 linijce masz zmienną $site a potem odwołujesz się do $siteID.
2) Trochę pogmatwałeś z ifami i elsami. Nie powinno być przypadkiem tak?
  1. <?php
  2. include('includes/header.php');
  3.  
  4. ini_set('display_errors','1');
  5.  
  6. if (!isset($_GET['site'])){
  7. $siteID=1;
  8. }
  9. else{
  10. $siteID=$_GET['site'];
  11. }
  12.  
  13. //jaki jest sens poniższego zapytania?! Wyswietl ID gdzie ID = ID ?!? wywal to:
  14. /* $siteID = mysql_fetch_array(mysql_query("SELECT 'id' FROM 'strony' WHERE 'id' = ".$_GET['site']) or die('BŁĄD '.mysql_error())); */
  15.  
  16. $tresc = mysql_fetch_array(mysql_query("SELECT 'tresc' FROM 'strony' WHERE 'id' = ".$siteID) or die('BŁĄD '.mysql_error()));
  17. $tytul = mysql_fetch_array(mysql_query("SELECT 'tytul' FROM 'strony' WHERE 'id' = ".$siteID) or die('BŁĄD '.mysql_error()));
  18.  
  19. //nie mozesz wyswietlac tabli za pomoca echo, no chyba ze w petli. Dlatego zamiast powyzszego czyli $tresc=mysql_fetch... oraz $tytul=mysql_fetch.... proponuję to:
  20. $tresc = mysql_result(mysql_query("SELECT 'tresc' FROM 'strony' WHERE 'id' = ".$siteID." LIMIT 1",0) or die('BŁĄD '.mysql_error()));
  21. $tytul = mysql_result(mysql_query("SELECT 'tytul' FROM 'strony' WHERE 'id' = ".$siteID." LIMIT 1",0) or die('BŁĄD '.mysql_error()));
  22.  
  23. //teraz zadziala ponizsze
  24. echo "<b>$tytul</b><br />";
  25. echo $tresc;
  26.  
  27. echo ("<br /><br />");
  28.  
  29. include('includes/footer.php');
  30. ?>


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
Komiłaj
post 11.12.2010, 10:28:28
Post #4





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 10.12.2010

Ostrzeżenie: (0%)
-----


Cytat(sadistic_son @ 11.12.2010, 03:55:54 ) *
//jaki jest sens poniższego zapytania?! Wyswietl ID gdzie ID = ID ?!? wywal to:


Chodzi o to, że strona ma wyświetlić jedną treść z DB, jak będzie tam np. 10 wpisów, to treść z ID takim jak zmienna $site, którą podaje się w adresie, a jeśli nie jest podana, to ma równać się 1.

////////////////////////////////////////////////////////////////////////
Zmieniłem plik index.php na:
  1. <?php
  2. include('includes/header.php');
  3.  
  4.  
  5. ini_set('display_errors','1');
  6.  
  7.  
  8. $siteID = $_GET['site'];
  9.  
  10. $tytul = mysql_query("SELECT 'tytul' FROM 'strony'");
  11.  
  12. while ($row = mysql_fetch_array($tytul, MYSQL_BOTH))
  13. {
  14. printf ("Tytul: %s ", $row[$siteID]);
  15. }
  16.  
  17.  
  18. echo "<br />";
  19. echo "SiteID = ".$siteID;
  20.  
  21.  
  22.  
  23. include('includes/footer.php');
  24. ?>


Teraz strona zwraca:
  1. Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ...\mycms\index2.php on line 13
  2.  
  3. Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in ...\mycms\index2.php on line 17
  4.  
  5. SiteID = 1


Ten post edytował Komiłaj 11.12.2010, 11:15:55
Go to the top of the page
+Quote Post
lord2105
post 11.12.2010, 11:55:47
Post #5





Grupa: Zarejestrowani
Postów: 380
Pomógł: 59
Dołączył: 24.04.2010
Skąd: London

Ostrzeżenie: (0%)
-----


  1. <?
  2. $query = mysql_query("SELECT tytul,tresc FROM strony WHERE id = '".$_GET['site']."'");
  3.  
  4. while ($row = mysql_fetch_array($query)) {
  5. var_dump($row);
  6. echo '<br>';
  7. }


Ten post edytował lord2105 11.12.2010, 11:57:10


--------------------
40% rozwiązań znajduje się tutaj.
59,9% tutaj.

Jeśli pomogłem rozwiązać Twój problem wciśnij
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 30.05.2024 - 16:29