(PHP - MYSQL) 我要数"likes"。当他们点击一个按钮时,它会添加 1 个赞
(PHP - MYSQL) I want to count "likes". When they click on a button it adds 1 like
这是我的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();
}
?>
这是我得到的错误:
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or
access violation: 1064 You have an error in your SQL syntax; check the
manual that corresponds to your MySQL server version for the right
syntax to use near '+1 WHERE id=1' at line 1 in
/Applications/MAMP/htdocs/backend/major-IC/dao/insertVoteDAO.php:9
Stack trace: #0
/Applications/MAMP/htdocs/backend/major-IC/dao/insertVoteDAO.php(9):
PDO->prepare('UPDATE `ic_item...') #1
/Applications/MAMP/htdocs/backend/major-IC/collection.php(72):
insertVoteDAO->insertVote1() #2 {main} thrown in
/Applications/MAMP/htdocs/backend/major-IC/dao/insertVoteDAO.php on
line 9
它说我在查询中的语法有问题。
希望有人能帮助我。
这一行在 flames
+1:
处是错误的
$sql = "UPDATE ic_items
SET flames
+1 WHERE id=1";
应该是
$sql = "UPDATE ic_items
SET flames
= flames
+1 WHERE id=1";
同意 BanNsS1,
您可以查看以下 link 以供进一步参考:Increment a database field by 1
这是我的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();
}
?>
这是我得到的错误:
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '+1 WHERE id=1' at line 1 in /Applications/MAMP/htdocs/backend/major-IC/dao/insertVoteDAO.php:9 Stack trace: #0 /Applications/MAMP/htdocs/backend/major-IC/dao/insertVoteDAO.php(9): PDO->prepare('UPDATE `ic_item...') #1 /Applications/MAMP/htdocs/backend/major-IC/collection.php(72): insertVoteDAO->insertVote1() #2 {main} thrown in /Applications/MAMP/htdocs/backend/major-IC/dao/insertVoteDAO.php on line 9
它说我在查询中的语法有问题。
希望有人能帮助我。
这一行在 flames
+1:
$sql = "UPDATE ic_items
SET flames
+1 WHERE id=1";
应该是
$sql = "UPDATE ic_items
SET flames
= flames
+1 WHERE id=1";
同意 BanNsS1, 您可以查看以下 link 以供进一步参考:Increment a database field by 1