Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php/MySQL]bład w bazie
sazian
post 5.11.2006, 13:19:51
Post #1





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


Wykonałem stronę w taki sposób jak opisano to tutaj http://szabloniki.com/licznik_gosci_online.html
Jednak po włączeniu strony nie wyświetlało się żadne IP więc dodałem zapytania o błędy MySQL’a i efekt jest taki http://sazian1.goin.pl/ip/ip.php
Co oznacza ten błąd i jak go usunąć??
Go to the top of the page
+Quote Post
UDAT
post 5.11.2006, 13:22:24
Post #2





Grupa: Zarejestrowani
Postów: 442
Pomógł: 0
Dołączył: 27.12.2005

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


A nie łaska poszukać: Google
Go to the top of the page
+Quote Post
sazian
post 5.11.2006, 13:30:42
Post #3





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


Noo to wiem co to znaczy tylko ciągle brak pomysłów jak się tego pozbyć
Go to the top of the page
+Quote Post
skowron-line
post 5.11.2006, 13:34:21
Post #4





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Kod
Column count doesn't match value count at row 1

liczba kolumn w bazie niezgadza sie z liczba danych do niej zapisywanych

jak nie kumasz to pokaz kawalek kodu


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
sazian
post 5.11.2006, 19:23:51
Post #5





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


pokazałem nawet cały kod snitch.gif

  1. <?php
  2.  
  3. /* Laczymy sie z serwerem mysql */
  4. $db = mysql_connect('localhost','root','');
  5.  
  6. /* i wybieramy baze danych */
  7. mysql_select_db('webstuff',$db);
  8.  
  9. /*
  10. Ustalamy czas od ostatniego polaczenia
  11. po ktorym zostaniemy uznani za bycie on-line.
  12. Tutaj 3*60 sek a wiec 3 minuty
  13. */
  14. $old=date('H:i:s',time()-1*60);
  15.  
  16. /* Usuwamy wszystkie wpisy starsze niz 3 minuty - pozwoli to uniknac zasmiecania bazy */
  17. mysql_query("DELETE FROM online WHERE date<'$old'");
  18.  
  19. /* Ustalamy adres komputera ktory wszedl na strone */
  20. $_SERVER=$HTTP_SERVER_VARS; $REMOTE_ADDR=$_SERVER['REMOTE_ADDR'];
  21.  
  22. /* Terazniejszosc ;) */
  23. $now=date('H:i:s',time());
  24.  
  25. /* Dodajemy nowego hosta do bazy wraz bierzaca godzina wizyty */
  26. mysql_query("INSERT INTO online VALUES('','$REMOTE_ADDR','$now')");
  27.  
  28. /* Liczymy tych ktorzy zostali zapisani w ciagu ostatnich 3 minut */
  29. $res=mysql_query("SELECT * FROM online WHERE date>'$old'");
  30.  
  31. /* i wyswietlamy ich liczbe na ekranie */
  32. echo 'On-line: <a href="?show">'.mysql_numrows($res).'</a><br>';
  33.  
  34. /* Dodatkowo mozemy wyswietlic liste osob aktualnie przegladajacych strone */
  35. if (isset($_GET['show'])){
  36. echo '<br><table cellspacing=0 cellpadding=0 ><tr><td>Lista gosci<br><br></td><td></td></tr>';
  37. echo '<tr><td><b>IP</b></td><td><b>Data</b></td></tr>';
  38.  
  39. /* Kozystajac z faktu ze $res przechowuje ID wyniku wczesniejszego zapytania, wys
    wietlamy szczegolowe dane */
  40. while($iplist=mysql_fetch_assoc($res)){
  41. echo '<tr>';
  42. echo '<td>'.$iplist['ip'].'</td>';
  43. echo '<td>'.$iplist['date'].'</td>';
  44. echo '</tr>';
  45. }
  46. echo '</table>';
  47. echo '<br><a href="index.php">Ukryj</a>';
  48. }
  49.  
  50. /* Zamykamy polaczenie z baza */
  51.  
  52. ?>


i baza

  1. CREATE TABLE `online` (
  2. `ip` varchar(15) NOT NULL DEFAULT '',
  3. `date` time NOT NULL DEFAULT '00:00:00',
  4. PRIMARY KEY (`ip`)
  5. ) TYPE=MyISAM;

z tą różnicą że podałem moje dane do logowania na serwer



widze że to nie tylko dla mnie problem

Ten post edytował sazian 5.11.2006, 19:23:42
Go to the top of the page
+Quote Post
enteh
post 5.11.2006, 20:01:34
Post #6





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 5.11.2006

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


Jest błąd w 26 linijce. Robi się insert z trzema pozycjami do tablicy o dwóch kolumnach winksmiley.jpg
Zamień ją na poniższą i będzie ok.

  1. <?php
  2. mysql_query("INSERT INTO online VALUES('$REMOTE_ADDR','$now')");
  3. ?>


Ten post edytował enteh 5.11.2006, 20:02:02
Go to the top of the page
+Quote Post
sazian
post 5.11.2006, 20:08:05
Post #7





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


hmmm teraz wywala
Cytat
Duplicate entry '83.26.132.54' for key 1
Go to the top of the page
+Quote Post
enteh
post 5.11.2006, 20:20:17
Post #8





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 5.11.2006

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


Bo to prosta wersja liczniczka. Odświeżasz stronę w czasie krótszym niż 3 minuty a więc zanim wpis zdąży być usunięty, a IP jest kluczem tej tabeli.Nie zmienia to faktu że Twoja obecność została odnotowana. Przestań więc wyswietlać błedy i będzie ok tongue.gif
Go to the top of the page
+Quote Post
sazian
post 5.11.2006, 21:16:02
Post #9





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


Mam jeszcze jedno pytanie trochę poza tematem
Dlaczego zapis
  1. <?php
  2. $old=date('H:i:s',time()-1*60);
  3. ?>
oznacza 3 minuty
Go to the top of the page
+Quote Post
enteh
post 5.11.2006, 21:27:58
Post #10





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 5.11.2006

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


Jakby nie patrzeć oznacza 1 minutę do tyłu tongue.gif
time() zwróci aktualny czas, - 1*60 odejmie od niego minutę.
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: 14.08.2025 - 05:28