Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php&mysql]Problem z mysql_numrows
darthblue
post 8.03.2008, 12:39:34
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 11.02.2008
Skąd: Pomorze

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


witam
  1. <?php
  2. $id = $_SESSION["id"]
  3. $query = "SELECT * FROM msg WHERE do = $id;";
  4. $result = mysql_query($query);
  5. $num = mysql_numrows($result); //tu jest blad
  6.  
  7. echo "<table border='1'>";
  8. echo "<TR><TD width='60' bgcolor='red'>PW ID</TD><TD width='60' bgcolor='red'>OD</TD><TD width='200' bgcolor='red'>TEMAT</TD><TD width='80' bgcolor='red'>DATA</TD></TR>";
  9. $i = 0;
  10. while ($i < $num) {
  11.  
  12. $id = mysql_result($result,$i,"id"); 
  13. $od=mysql_result($result,$i,"od");
  14. $topic=mysql_result($result,$i,"topic");
  15. $data=mysql_result($result,$i,"data");
  16.  
  17. echo "<TR><TD width='30' bgcolor='green'>$id</TD><TD width='60' bgcolor='blue'>$od</TD><TD width='200' bgcolor='grey'><a href='read.php?id=$id'>$topic</a></TD><TD width='80' bgcolor='green'>$data</TD></TR>";
  18.  
  19. $i++;
  20. }
  21. echo "</table>";
  22. ?>

Błąd: Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource
Problem moze lezec po stronie sesji bo jak zmienie w zapytanie $id na np 1 to dziala
Go to the top of the page
+Quote Post
luniak
post 8.03.2008, 12:42:23
Post #2





Grupa: Zarejestrowani
Postów: 171
Pomógł: 36
Dołączył: 12.01.2008
Skąd: Puszcza Mariańska

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


z tego co ja się orientuję powinno być
nie:
  1. $num = mysql_numrows($result);

tylko:
  1. $num = mysql_num_rows($result);


--------------------
Jeżeli ktoś na forum Ci pomógł, możesz mu podziękować klikając w opcje "Pomógł" pod jego postem!
--------------------

Go to the top of the page
+Quote Post
darthblue
post 8.03.2008, 12:46:19
Post #3





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 11.02.2008
Skąd: Pomorze

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


Nie to musi byc cos z argumentem
Go to the top of the page
+Quote Post
luniak
post 8.03.2008, 12:48:56
Post #4





Grupa: Zarejestrowani
Postów: 171
Pomógł: 36
Dołączył: 12.01.2008
Skąd: Puszcza Mariańska

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


A idruga żecz zauważyłem żw w zapytanie:

  1. <?php
  2. $query = "SELECT * FROM msg WHERE do = $id;";
  3. ?>

Moim zdanie powinno wyglądać tak:
  1. <?php
  2. $query = "SELECT * FROM `msg` WHERE `do` = '$id'";
  3. ?>


A i jeszcze jsdno, dlaczego używasz czegoś takiego;
  1. <?php
  2. while ($i < $num) {
  3.  
  4. $id = mysql_result($result,$i,&#092;"id\"); 
  5. $od=mysql_result($result,$i,&#092;"od\");
  6. $topic=mysql_result($result,$i,&#092;"topic\");
  7. $data=mysql_result($result,$i,&#092;"data\");
  8.  
  9. echo &#092;"$id$od<a href="read.php?id=$id">$topic$data\";
  10.  
  11. $i++;
  12. }
  13. ?>

questionmark.gif
nie lepiej zrobić to tak:
  1. <?php
  2. while ($row = mysql_fetch_array($result)) {
  3.  
  4. $id = $row[&#092;"id\"]; 
  5. $od=$row[&#092;"od\"];
  6. $topic=$row[&#092;"topic\"];
  7. $data=$row[&#092;"data\"];
  8.  
  9. echo &#092;"$id$od<a href="read.php?id=$id">$topic$data\";
  10.  
  11.  
  12. }
  13. ?>
</a href='read.php?id=$id'></a href='read.php?id=$id'>

Ten post edytował luniak 8.03.2008, 12:59:09


--------------------
Jeżeli ktoś na forum Ci pomógł, możesz mu podziękować klikając w opcje "Pomógł" pod jego postem!
--------------------

Go to the top of the page
+Quote Post
darthblue
post 8.03.2008, 12:59:12
Post #5





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 11.02.2008
Skąd: Pomorze

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


Po zmianie wychodzi ten sam blad co w num_rows. Jak zmienie $id w zapytaniu na 1 to dziala czyli to musi byc cos z tymi sesjami
  1. <?php
  2. function login($user, $pass) //logowanie, tworzenie sesji
  3. {
  4. session_set_cookie_params (1800, '/', 'solaris.yoyo.pl');
  5. session_register("zalogowany");
  6. connect();
  7. if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0;
  8. if($_SESSION["zalogowany"]!=1){
  9. if(mysql_query("SELECT * FROM gracze WHERE login = '".htmlspecialchars($user)."' AND pass = '".htmlspecialchars($pass)."'")){
  10. $_SESSION["zalogowany"]=1;
  11. $q = mysql_query("SELECT id FROM gracze WHERE login = '".htmlspecialchars($user)."' LIMIT 1");
  12. $d = mysql_fetch_assoc($q);
  13. echo "Zalogowano poprawnie $user($d[id]).<br>";
  14. $_SESSION["id"] = $d[id];
  15. }else echo 'Podane dane sa niepoprawne';
  16. }
  17. }
  18. ?>
skrypt logowania, moze w nim lezy problem?
Go to the top of the page
+Quote Post
luniak
post 8.03.2008, 13:04:24
Post #6





Grupa: Zarejestrowani
Postów: 171
Pomógł: 36
Dołączył: 12.01.2008
Skąd: Puszcza Mariańska

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


a spróbuj wywołać w tym pierwszym skrypcie zaraz po zadeklarowaniu $query coś takiego:
  1. <?php
  2. $query = "SELECT * FROM msg WHERE do = $id";
  3. echo $query;
  4. ?>

i zobacz co on podstawia jako $id


--------------------
Jeżeli ktoś na forum Ci pomógł, możesz mu podziękować klikając w opcje "Pomógł" pod jego postem!
--------------------

Go to the top of the page
+Quote Post
darthblue
post 8.03.2008, 17:12:12
Post #7





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 11.02.2008
Skąd: Pomorze

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


  1. SELECT * FROM 'msg' WHERE 'do' = ;
Czyli cos jest z id, z sesjami ;///

Niewiem czemu, moze to wina serwera z tymi sesjami. W skrypcie logowania jest ustalana zmienna $_SESSION["id"] ale jak ujzyje jej w innym skrypcie to nie dziala ;/

UPS sorry za jeden post pod drugim.

Ten post edytował darthblue 8.03.2008, 17:12:27
Go to the top of the page
+Quote Post
PawelC
post 8.03.2008, 17:25:23
Post #8





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


Zobacz to:
  1. <?php
  2.  
  3. $user = trim($_POST['user']);
  4. $pass = trim($_POST['pass']);
  5. $id = trim($_POST['id']);
  6. $loguj="select * from gracze where login='$user' and pass='$pass'";
  7. $rekordy = mysql_query($loguj);
  8. if(mysql_num_rows($rekordy)==0)
  9. {
  10.  echo 'Podany login i haslo jest błędne'; 
  11.  exit;
  12. }
  13. else
  14. {
  15.  $_SESSION['id'] = $_POST['id'];
  16. print $_SESSION['id'];
  17.  
  18.  exit;
  19. }
  20. ?>

Jeżeli dany użytkownik będzie to wyświetli Ci zawartość Session['id']; a jak niebędzie to error

Ten post edytował ExPlOiT 8.03.2008, 17:26:41
Go to the top of the page
+Quote Post
darthblue
post 8.03.2008, 17:35:11
Post #9





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 11.02.2008
Skąd: Pomorze

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


no dobra to działa, ale jak robie cos z uzyciem np fetch_assoc to wywala blad
  1. [b]Warning[/b]: mysql_fetch_assoc(): supplied argument IS NOT a valid MySQL result resource

a zapytanie to np.
  1. <?php
  2. $c = mysql_fetch_assoc(mysql_query("SELECT kills,deaths FROM fractions WHERE nazwa = 'Combine Soldiers'"));
  3. ?>
Go to the top of the page
+Quote Post
PawelC
post 8.03.2008, 17:40:58
Post #10





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


Sprawdź ten kod:
  1. <?php
  2. $down="SELECT kills,deaths FROM fractions WHERE nazwa = 'Combine Soldiers'";
  3. $wykonaj=mysql_query($down) or die(mysql_error());
  4. while($pokaz=mysql_fetch_assoc($wykonaj)){
  5. print "kills: ";
  6. print ''.$pokaz[0].'';
  7. print '<br />';
  8. print "Deaths: ";
  9. print ''.$pokaz[1].'';
  10. ?>
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: 19.07.2025 - 09:57