Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL]dziwne wyniki polecenia SELECT - PROBLEM ROZWIAZANY
lukas_nowicki
post
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 1
Dołączył: 20.09.2006

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


  1. <?php
  2. $sql_query = mysql_query('SELECT Ip FROM ip WHERE Ip='.$ip.'');//sprawdza czy Ip jest w bazie
  3. if ($sql_query == '') //jezeli nie ma ip w bazie
  4. {
  5. echo "Ip nie ma w bazie";
  6. $sql_query = mysql_query('INSERT INTO ip VALUES ('','$ip','','$time')');//zapisuje dane w bazie
  7. }
  8. else
  9. {
  10. echo "Twoje Ip już sie znajduje w naszej bazie";
  11. }
  12. ?>


Mając czystą bazę po wywołaniu powyższego skryptu dodawany jest nowy rekord z naszym IP oraz wyświetlany jest napis "Ip nie ma w bazie".
Kiedy wywołam ten skrypt drugi raz znowu dodawany jest nowy rekord pomimo tego że już istnieje. To samo zapytanie SELECT wpisane bezpośrednio do panelu phpmyadmin działa jak należy. Od 2 h staram się to rozgryźć ale do niczego nie doszedłem.
Czy to możliwe żeby serwer źle interpretował ten kod?

pozdrawiam

Ten post edytował lukas_nowicki 17.10.2008, 12:56:15
Go to the top of the page
+Quote Post
Spawnm
post
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




a zobacz zamiast
if ($sql_query == '')
to
if ($sql_query < 1)
Go to the top of the page
+Quote Post
lukas_nowicki
post
Post #3





Grupa: Zarejestrowani
Postów: 32
Pomógł: 1
Dołączył: 20.09.2006

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


Efekt jest dokładnie taki sam - czyli dodaje nowy rekord pomimo tego że istnieje.
Go to the top of the page
+Quote Post
Spawnm
post
Post #4





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




$sql_query =mysql_num_rows( mysql_query('SELECT Ip FROM ip WHERE Ip='.$ip.''));
aby zliczyć ile razy wystepuje i potem if <1 itp..
Go to the top of the page
+Quote Post
lukas_nowicki
post
Post #5





Grupa: Zarejestrowani
Postów: 32
Pomógł: 1
Dołączył: 20.09.2006

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


O ja głupi... tongue.gif
Dokładnie 10 linijek nad tym "felernym" zapytaniem stosowałem przecież mysql_num_rows aby uzyskać podobny efekt.
Dziekuję za pomoc
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 Aktualny czas: 19.08.2025 - 07:49