DUPLICATE KEY UPDATE
INSERT
. के साथ प्रयोग किया जाता है और UPDATE
. के साथ नहीं कथन DOCS
एक आईपी की गिनती इस तरह होगी
SELECT COUNT(*) FROM profiles WHERE IP = "127.1.0.0";
[यदि आप वह नहीं खोज रहे हैं जो मैंने ऊपर लिखा है]
यदि IP पता आपकी प्राथमिक कुंजी है तो
INSERT INTO
profiles (ip,views)
VALUES ("127.1.0.0",1)
ON DUPLICATE KEY
UPDATE views=views+1;
यदि आप चाहते हैं कि आपका कोड ठीक से काम करे [mysql_* का उपयोग न करें, उपयोगकर्ता इनपुट से भी बचें]
<?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);
?>