Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem ze sprawdzeniem rekordu
Forum PHP.pl > Forum > Bazy danych > MySQL
pakolord
Witam probuje zrobic licznik unikatowych odwiedzin na bazie ale wyskakuje mi blad " Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\WebServ\httpd\PHPtest\unkukatowe.php on line 16"
Zapisuje mi ip do bazy ale za kazdym razem kazde ip nawet kilka razy a chchialbym 1 ip zaby zapisalo jeden raz, mam taki kod:

  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="iso-8859-2">
  5. <title>Untitled Document</title>
  6. </head>
  7. <body>
  8. <?php
  9. include('polaczenie_baz.php');
  10.  
  11. $ip = getenv(REMOTE_ADDR);
  12.  
  13. $szuk_ip="select ip from unkikatowe where ip='$ip'";
  14. $rekord = mysql_query($szuk_ip);
  15.  
  16. if(mysql_num_rows($rekord)==0)
  17. {
  18. mysql_query("INSERT INTO unikatowe SET ip='$ip'");
  19. }
  20.  
  21. ?>
  22. </body>
  23. </html>
nospor
Twoje zapytanie SELECT zwraca ci blad bazy. Wyswietl sobie blad bazy a bedziesz wiedzial w czym problem.... Tu masz napisane jak wyswietlac bledy bazy oraz inne cenne wskazowki
Temat: Jak poprawnie zada pytanie

ps: blad jaki zrobiles jest widoczny na kilometr.... Niech mu nikt nie pisze co zrobil źle - niech się sam nauczy analizować tak banalne bledy.
mmmmmmm
Poza tym skoro tabela nazywa się 'unikatowe', to powinna zawiera unikatowe ip, czyl z albo PRIMRY KEY na tym polu, albo z UNIQUE INDEX.
Wtedy można się obejść bez sprawdzania, czyli "INSERT IGNORE ..."
pakolord
Ok, mam wielkie dzięki za podpowiedz!
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.