Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL]Błąd: Undefined index i chyba złe zapytanie, Na innych podstronach działa bez problemu
flagoon
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 11.03.2008

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


Cześć, nie mam pojęcia co jest nie tak. Na dwóch podstronach mam zapytanie "SELECT" do bazy. Jeden działa bez problemu, drugi nie. Sprawdziłem wszystko jak leci i nie mogę dopatrzyć się błędu:

  1. <?php
  2. include("polacz.inc.php"); //tutaj wszystko jest ok
  3. ini_set('display_errors', 1);
  4. if(isset($_GET['id']))
  5. {
  6. $masz_id = $_GET['id'];
  7. }
  8. else
  9. {
  10. header("Location: wypisz_admin.php");
  11. }
  12.  
  13. //ten if działa poprawnie, nie ma id to przenosi na wypisz_admin.php, jest to przy
    pisuje
  14.  
  15. $a = "SELECT * FROM maszyna where id_masz=$masz_id";
  16. $b = mysql_query($a) or die(mysql_error()); 
  17.  
  18. /*
  19. mysql_error() nie pokazuje żadnego błędu, ale jestem niemal pewien, że coś tutaj się syp
    ło. 
  20. Nie mam tylko pojęcia co. 
  21. */
  22.  
  23. $c = mysql_fetch_array($b);
  24. print("$_GET[id], $masz_id, $c[m_prod]");
  25.  
  26. /*
  27. ta linijka jest dla sprawdzenia. Wyświetla poprawnie 2 pierwsze wartości ($_GET[i]d] oraz $masz_id), 
  28. nie wyświetla $c[m_prod]. Zamiast tego wyświetla "Undefined index: m_prod".
  29. */
  30.  
  31. session_register("m_prod", "m_model", "year", "type", "info", "price");
  32. $_SESSION['m_prod']=$c['m_prod'];
  33. $_SESSION['m_model']=$c['m_model'];
  34. $_SESSION['year']=$c['year'];
  35. $_SESSION['type']=$c['type'];
  36. $_SESSION['info']=$c['info'];
  37. $_SESSION['price']=$c['price'];
  38. print("$_SESSION[m_prod], $_SESSION[m_model]")
  39.  
  40. /*
  41. w każdej linijce tutaj (oprócz sesion_register()) wyświetla ten sam błąd 
  42. (właściwie po angielsku nazywają to notice) co wyżej. Print niczego nie wyświetla. 
  43. */
  44. ?>


Co do samych błedów, to działa to trochę dziwnie. Jeżeli w zmiennej $_GET[id] prześlę wartość która jest w bazie, wtedy mam kilka błędów "Undefined index:". Jeżeli wprowadzę zmienną, której w bazie nie ma, nie wyświetla mi żadnych błędów (ale w linijkach sprawdzających nie wyświetla żadnych zmiennych.

Jak pisałem mam podobny kawałek kodu na innej podstronie i tam wszystko działa ok (SELECT wyświetla wszystkie maszyny z bazy). Nazwy kolumn i zmiennych są ok. Podejrzewam, że coś jest nie tak w zapytaniu mysql, ale jak napisałem, mysql_error() nie wyświetla żadnych błędów.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




@kossa napisze po Twojemu:
źle: cały twoj post powyzej
dobrze: zupelnie nic.
polecam dokladna lekture manuala i pisanie na temat.

@flagoon moze ty poprostu nie masz zadnych rekordow w bazie?
Bo te NOTICE spowodowane są tym, ze albo zapytanie nie zwrocilo ci zadnych rekordow, albo zwrocilo ci rekordy, ale ty odwolujesz sie do pol (indexow), ktorych nie ma. No ale to drugie raczej wykluczam. Chyba wiesz jak nazywaja sie twoje pola w tabeli (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

edit down: liczb nie bierze sie w apostrofy
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 15.10.2025 - 09:01