(PHP - MYSQL)我想计算“喜欢”。当他们点击一个按钮时,它会添加 1 like

Posted

技术标签:

【中文标题】(PHP - MYSQL)我想计算“喜欢”。当他们点击一个按钮时,它会添加 1 like【英文标题】:(PHP - MYSQL) I want to count "likes". When they click on a button it adds 1 like 【发布时间】:2018-09-07 13:29:51 【问题描述】:

这是我的 dao 文件

<?php

require_once( __DIR__ . '/DAO.php');

class insertVoteDAO extends DAO 

  public function insertVote1() 
      $sql = "UPDATE `ic_items` SET `flames`+1 WHERE id=1";
      $stmt = $this->pdo->prepare($sql);
      $stmt->execute();
      return $stmt->fetch(PDO::FETCH_ASSOC);
      
    
?>

在我的 index.php 中我这样做:

 <?php
require_once( __DIR__ . '/dao/insertVoteDAO.php');
$voteDAO = new insertVoteDAO();

      if (!empty($_POST)) 
      $insertVote = $voteDAO->insertVote1();
    
     ?>

这是我得到的错误:

致命错误:未捕获的 PDOException:SQLSTATE[42000]:语法错误或 访问冲突:1064 您的 SQL 语法有错误;检查 与您的 mysql 服务器版本相对应的手册 在第 1 行的“+1 WHERE id=1”附近使用的语法 /Applications/MAMP/htdocs/backend/major-IC/dao/insertVoteDAO.php:9 堆栈跟踪:#0 /Applications/MAMP/htdocs/backend/major-IC/dao/insertVoteDAO.php(9): PDO->prepare('更新 `ic_item...') #1 /Applications/MAMP/htdocs/backend/major-IC/collection.php(72): insertVoteDAO->insertVote1() #2 main 投入 /Applications/MAMP/htdocs/backend/major-IC/dao/insertVoteDAO.php 第 9 行

它说我在查询中的语法有问题。

我希望有人可以帮助我。

【问题讨论】:

检查错误,然后更新您的帖子以包含它们的内容(如果有的话)并使用适当的错误处理方法。 “它不起作用”不是问题描述。 您的错误消息说:您的 SQL 语法中有语法错误。 +1 似乎是错误的。 How to add plus one (+1) to a SQL Server column in a SQL Query的可能重复 【参考方案1】:

这行在flames+1 有错误:

$sql = "UPDATE ic_items SET flames+1 WHERE id=1";

应该是

$sql = "UPDATE ic_items SET flames = flames+1 WHERE id=1";

【讨论】:

【参考方案2】:

同意 BanNsS1, 您可以查看以下链接以供进一步参考:Increment a database field by 1

【讨论】:

以上是关于(PHP - MYSQL)我想计算“喜欢”。当他们点击一个按钮时,它会添加 1 like的主要内容,如果未能解决你的问题,请参考以下文章

使用 PHP 和 MySQL 计算地理位置距离

MySQL查询优化:如何优化投票计算?

在 php 中实时接收 mysql 更新

php和MySQL中简单的喜欢/不喜欢评级系统

php mysql比较long和lat,返回10英里以下的

PHP:基于下拉列表的 MySQL 值调用