Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

PHP:Cách tăng một giá trị trong hàng bảng để đếm lượt xem và giới hạn số lượt xem ở một địa chỉ IP

DUPLICATE KEY UPDATE

được sử dụng với INSERT chứ không phải với UPDATE tuyên bố DOCS

đếm cho một IP sẽ như thế này

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

[Nếu bạn không tìm kiếm những gì tôi đã viết ở trên]

nếu địa chỉ IP là khóa chính của bạn thì

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

Nếu bạn muốn Mã của mình hoạt động bình thường [không sử dụng mysql_ * cũng thoát khỏi đầu vào của người dùng]

<?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. cách đặt độ dài kiểu dữ liệu mysql với phần tiếp theo-cli

  2. Cách dừng truy vấn mysql đang chạy

  3. Spring Boot + docker-compos + MySQL:Kết nối bị từ chối

  4. java.lang.ClassNotFoundException:com.mysql.jdbc.Driver (maven + jboss)

  5. Làm thế nào để xử lý sự cố cơ sở dữ liệu (Glassfish / MySQL)?