Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySql][PHP] Problem z mysql_num_rows .
SzymonTJ
post
Post #1





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

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


  1. <?php
  2. mysql_connect('localhost','root','');
  3. mysql_select_db("users");
  4.  
  5. $user = $_POST[user];
  6. $pass = $_POST[password];
  7. $mail = $_POST[mail];
  8.  
  9.  
  10. $czyjest = mysql_query("SELECT nick,mail FROM users WHERE user = '$user'");
  11. $czyjest1 = mysql_num_rows($czyjest);
  12.  
  13. if($czyjest1 == 1){
  14. $mozna = 0;
  15. }else {
  16. $user1 = md5($user);
  17. mysql_query("INSERT INTO users(user,password,mail) VALUES ($user,$pass,$mail)"); // rejestruje
  18. }
  19.  
  20.  
  21.  
  22. ?>

Zwraca to komunikat
Kod
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in D:\xampp\htdocs\a\reje.php on line 11


Nie chce to działać poprawnie.
Z góry dziękuje za pomoc!!
Pozdrawiam,
SzymonTJ

Edit :
Uwaga!
Nie chodzi mi o zabezpieczenia, a o normalne funkcjonowanie (IMG:style_emoticons/default/exclamation.gif)

Ten post edytował SzymonTJ 20.04.2010, 19:04:50
Go to the top of the page
+Quote Post
peku33
post
Post #2





Grupa: Zarejestrowani
Postów: 65
Pomógł: 5
Dołączył: 22.01.2010

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


Nie lepiej użyć
  1. SELECT COUNT(*) FROM users WHERE user='$user'



MYSQL INJECTION!!!!
Go to the top of the page
+Quote Post
mortus
post
Post #3





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Linia 5: nie $_POST[user], a $_POST['user']
Linia 6: to samo
Linia 7: to samo
Poza tym poczytaj o SQL Injection, bo Twój skrypt umożliwia taki właśnie rodzaj ataku.

Poza tym w tabeli users masz pole nick, czy user, bo używasz ich zamiennie?
Na przyszłość zapoznaj się z tematem Jak poprawnie zadać pytanie. Zostały tam opisane podstawowe sposoby wychwytywania błędów w skryptach PHP.
Go to the top of the page
+Quote Post

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: 24.08.2025 - 21:14