Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]dziwne wyniki polecenia SELECT - PROBLEM ROZWIAZANY
Forum PHP.pl > Forum > PHP
lukas_nowicki
  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
Spawnm
a zobacz zamiast
if ($sql_query == '')
to
if ($sql_query < 1)
lukas_nowicki
Efekt jest dokładnie taki sam - czyli dodaje nowy rekord pomimo tego że istnieje.
Spawnm
$sql_query =mysql_num_rows( mysql_query('SELECT Ip FROM ip WHERE Ip='.$ip.''));
aby zliczyć ile razy wystepuje i potem if <1 itp..
lukas_nowicki
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
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.