Mysql
 sql >> Baza danych >  >> RDS >> Mysql

PHP:Jak zwiększyć wartość w wierszu tabeli, aby zliczyć wyświetlenia i ograniczyć zliczanie do jednego adresu IP?

DUPLICATE KEY UPDATE

jest używany z INSERT a nie za pomocą UPDATE oświadczenie DOCS

liczba dla jednego adresu IP będzie taka

SELECT COUNT(*) FROM profiles WHERE IP = "127.1.0.0";

[Jeśli nie szukasz tego, co napisałem powyżej]

jeśli adres IP jest Twoim kluczem podstawowym, to

INSERT INTO 
profiles (ip,views) 
VALUES ("127.1.0.0",1)
ON DUPLICATE KEY 
UPDATE views=views+1;

Jeśli chcesz, aby Twój kod działał poprawnie [nie używaj mysql_*, także unikaj wprowadzania danych przez użytkownika]

<?php
require_once 'db_conx.php';
$result = mysql_query( "SELECT * FROM profiles WHERE pid =2")  or die (mysql_error());
  /*ON DUPLICATE KEY UPDATE mviews = mviews+ 1 */               
if(mysql_num_rows($result) == 0){
     mysql_query( "INSERT INTO profiles (views) value(1) ")  or die (mysql_error());
    }else {
             mysql_query( "UPDATE profiles SET mviews = mviews +1 WHERE pid = '2' ")  or die (mysql_error());
      }
mysql_close($con);
?> 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przeglądarka Neo4j

  2. znajdź powody zakleszczenia mysql

  3. Mysql dołącza do dwóch tabel sum, gdzie i grupuje według

  4. Scal wiersze o tym samym identyfikatorze w tablicę

  5. Problemy UTF-8 z tinymce?