sql >> Database >  >> RDS >> Mysql

PHP:Hoe een waarde in de tabelrij te verhogen om weergaven te tellen en om tellingen te beperken tot één IP-adres

DUPLICATE KEY UPDATE

wordt gebruikt met INSERT en niet met UPDATE statement DOCS

tellen voor één IP zal als volgt zijn

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

[Als je niet op zoek bent naar wat ik hierboven heb geschreven]

als IP-adres uw primaire sleutel is, dan

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

Als u wilt dat uw code correct werkt [gebruik mysql_* niet, ontsnap ook aan gebruikersinvoer]

<?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-automatisering achter de nieuwe elektronische identiteit van Zweden Freja eID

  2. Is er een manier om met terugwerkende kracht een op tijd/knooppunt gebaseerde UUID in PHP te maken?

  3. Kolom toevoegen OF verwijderen uit CDC-geactiveerde tabel zonder gegevens te verliezen in SQL Server-database - SQL Server-zelfstudie

  4. MySQL Selecteer waar in veel tot veel