Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] mysql_num_rows prawidłowa składnia a nie działa!
Forum PHP.pl > Forum > Przedszkole
adek-
Witam, nie powinien, ale wyskakuje mi warning w linii 3
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\!WWW\WebServ\httpd-users\!SKRYPTY\logowanie\!webmade\odbiorcza.php on line
  1. else if($_GET["co"]){
  2. $co=intval($_GET["co"]); //zamieniamy zmienną na liczbe, zapobiega to atakom typu sql injection
  3. if(mysql_num_rows(mysql_query("select wiad_od from wiadomosci where wiad_id=$id and wiad_czyj=0 and wiad_od=".$_SESSION["zalogowany"]))){
  4. $wynik=mysql_query("select * from wiadomosci where wiad_id=$co and wiad_czyj=0"); //który również sprawdza właściciela wiadomości
  5. $rekord=mysql_fetch_array($wynik);
  6. $nadawca=mysql_fetch_array(mysql_query("select user_login from users where user_id=".$rekord["wiad_od"]));
  7. }
  8. }

warunek wydaje się byc dobrze postawiony, do tego powyżej mam pochodny z usuwaniem który działa poprawnie i bez wyrzucania błędu -jest taki sam jak powyżej. Usuwałem nawet środk tamtego ifa i też jest ten błąd!
  1. if($_GET["id"]){
  2. $id=intval($_GET["id"]); //zamieniamy zmienną na liczbe, zapobiega to atakom typu sql injection
  3. if(mysql_num_rows(mysql_query("select wiad_od from wiadomosci where wiad_id=$id and wiad_czyj=0 and wiad_od=".$_SESSION["zalogowany"]))){
  4. mysql_query("delete from wiadomosci where wiad_id=$id"); //sprawdzamy czy wiadomość którą użytkownik chce usunąć faktycznie ależy do niego
  5. echo "Usunięto wiadomość!<br>";
  6. }

Dodam iż wszystkie dane na serwerze MySQL się zgadzają i mają pokrycie w zapytainu mysql_query. WtF to może być?

próbowałem zrobić w tamtym ifie aby wyrzucił error, ale mi nic nie wyrzuca:
  1. $sql = 'mysql_query("select wiad_od from wiadomosci where wiad_id=$id and wiad_czyj=0 and wiad_od=".$_SESSION["zalogowany"])';
  2. echo 'ZAPYTANIE:'.$sql;
  3. mysql_num_rows($sql) or die('BŁĄD:'.mysql_error());
matino
A masz
wywołane w swoim skrypcie?
peter13135
Temat: Jak poprawnie zadac pytanie
tutaj masz napisane jak radzić sobie w takich sytuacjach wink.gif
adek-
matino, tak jest session start, session register, tak jak mówię, wszystko działa, logowanie wysyłanie rejestrowanie, usuwanie wiadomości, nie działa tylko odczytywanie jej czyli owe zapytanie
  1. if(mysql_num_rows(mysql_query("select wiad_od from wiadomosci where wiad_id=$id and wiad_czyj=0 and wiad_od=".$_SESSION["zalogowany"]))){
które również jest przy usuwaniu i tam działa poprawnie - przykład w pierwszej wiadomości.

peter13135, tak zgadza się byłem i tak jak pisałem próbowałem zrobić wyrzut poprzez mysql error, jak i reporting wszystkich błedów. Niestety skąpi mi informacji i cały czas pokazuje ten sam błąd. Nie pisał bym tego gdybym wiedział, że nie działa usuwanie. Może zrobię sobie przerwę na parę godzin i jak wrócę to coś mi wpadnie do głowy, bo jak na razie to wpatrywanie się w ten kod i szukanie po stronach mi nic nie dało. Dla mnie wydaje się poprawny.
Dominis
Wyświetl sobie samo to zapytanie, i zobacz czy jest cos w $_SESSION['zalogowany'],
Wygląda tak jak by $_SESSION['zalogowany'] był pusty.
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.