Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]problem z działaniem "poprawnego skryptu"
Forum PHP.pl > Forum > Przedszkole
$liwa
Szukam tego błędu od prawie dwóch godzin i nic, pewnie rozwiązanie jak zawsze jest banalne, ale ja już nie mogę go znaleźć.
  1. <?php
  2. if($_GET['Nr_pracy'])
  3. {
  4. if(ereg("([0-9]){3}-P", $sId = $_GET['Nr_pracy'])) 
  5. {
  6. $r_resultGET = mysql_query("SELECT * FROM pracedyplomowe WHERE 'Nr_pracy=".$sId."'", $r_sql); 
  7. var_dump($r_resultGET);
  8. $r_rowGET = mysql_fetch_array($r_resultGET);
  9. var_dump($r_rowGET);
  10. echo "Wydział: ".$r_rowGET['wydzial']."(...)";
  11. mysql_free_result($r_resultGET);
  12. }
  13. else echo "Błąd";
  14. }
  15. ?>

var_dump($r_resultGET); zwraca wartość: resource(5) of type (mysql result)
var_dump($r_rowGET); bool(false)

Może coś przegapiłem, proszę o pomoc i z góry wszystkim dziękuję.
kosmowariat
zauważ że nawet na forum Ci źle składnie podświetla. w linijce nr 10 brakuje cudzysłowa ;p to błąd który znalazłem na pierwszy rzut oka niestety konkretnie nie określiłeś jakiego typu masz błąd ...
a to poprawiona 10 linijka

  1. <?php
  2. echo "Wydział: ".$r_rowGET['wydzial']."(...)";
  3. ?>
$liwa
to (...) oznaczało dalszą mało ważna część skryptu, więc nie tutaj jest błąd.
Błąd polega na tym, że jest: var_dump($r_rowGET); bool(false) i nie wykonuje dalej skryptu nie wyświetlając pola $r_rowGET['wydzial']
kossa
nie możesz wywołując funkcję w jej parametrach nadawać zmiennej wartości:

Cytat
if(ereg("([0-9]){3}-P", $sId = $_GET['Nr_pracy']))


  1. <?php
  2. $sId = $_GET['Nr_pracy'];
  3. if(ereg("([0-9]){3}-P", $sId))
  4. ?>


Łukasz
$liwa
Chyba jednak można, bo tutaj skrypt działa jak najbardziej poprawnie...
Athlan
Cytat
nie możesz wywołując funkcję w jej parametrach nadawać zmiennej wartości:

@kossa, To ja mu podpowiedziałem o takim zastosowaniu kodu. Absolutnie można, zanim coś napiszesz poczytaj podstawy manuala w rozdziale Zmienne i ich przypisaniu smile.gif

Moim zdaniem baza źle zwraca wynik, a co za tym stoi, błąd. Spowodowany jest najprawdopodobniej tym:
WHERE 'Nr_pracy=".$sId."'.
Zamiast powyższej linijki spróbuj:
WHERE Nr_pracy=".$sId."
Przy typie integer (liczby) nie musisz wartości w zapytaniu dawać w cudzysłowie. Ale tu nie o to chodzi. Jak możesz dać pole bazy danych razem z porównaniem wartości w jedno cudzysłowie ? smile.gif

Oczywiście mogę się mylić tak jak kolega @kossa ;]

Popraw i powiedz czy zadziała smile.gif
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.