Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] problem z ON DUPLICATE KEY UPDATE
redelek
post
Post #1





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


Witam,

Po długiej przerwie, wróciłem do pisania drobnostek ułatwiających mi pracę. Niestety rok to dużo i wiele się zmieniło. Nie które rzeczy na fajne niektóre na trudne.
Staram się wszystko ogarnąć i nauczyć się można powiedzieć, że od nowa.
Miałem aplikację które sprawdzała mi adresy IP, jeśli wystąpiły duplikaty to zwiększał licznik , robiłem to za pomocą 2 zapytań najpierw SELECT a potem update.
Teraz korzystam z mysqli czy jakoś tak to się zwie i znalazłem takie rozwiązanie w jednym zapytaniu, ale niestety nie działa. Moje środowisko testowe XAMPP na MacOS.

zapytanie wygląda tak
  1. connectdb();
  2. $qins="
  3. INSERT INTO ".tapkaip." (ap_ip, ap_browser, ap_host, ap_date, count_ip)
  4. VALUE ('{$ip}', '{$przeg}', '{$host}', NOW(), '0')
  5. ON DUPLICATE KEY UPDATE count_ip=count_ip+1";
  6.  
  7. if($addrec = $con->query($qins)) {
  8.  
  9. echo $con->affected_rows;
  10. }


Mogę prosić Was o podpowiedź co źle zrobiłem lub jak rozwiązać taki problem w jednym zapytaniu ? Chodzi o to , że jak IP występuje w bazie to pole count_ip ma zwiększyć o 1.

Dziękuję za pomoc lub wskazówki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
redelek
post
Post #2





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


No dobrze to udało się poprawić zapytanie tak, że je dodaje, ale duplikuje wpisy nie zwiększa licznika count_ip

  1. $qins="
  2. INSERT INTO ".tapkaip." (ap_ip, ap_browser, ap_host, ap_date, count_ip)
  3. VALUE ('{$ip}', '{$przeg}', '{$host}', NOW(), '0')
  4. ON DUPLICATE KEY UPDATE count_ip=count_ip+1";
  5.  
  6. var_dump($qins);
  7.  
  8. string(289) " INSERT INTO apka_ip (ap_ip, ap_browser, ap_host, ap_date, count_ip) VALUE ('127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10) AppleWebKit/600.1.25 (KHTML, like Gecko) Version/8.0 Safari/600.1.25', 'localhost', NOW(), '0') ON DUPLICATE KEY UPDATE count_ip=count_ip+1"
Go to the top of the page
+Quote Post

Posty w temacie


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: 11.10.2025 - 07:14