[英]Incrementing Int value using UPDATE MySqli PHP
我是SQL和PHP的新手,我正在尝试创建一个基本的'like'系统,每次按下like按钮时,int计数都保存在db中。 我看过网上但似乎无法发现我做错了什么。 它适用于创建新记录,但似乎无法增加预先存在的条目的值。 我确定它很小。
<form action="post-like.php" method="POST">
<input type="hidden" name="post_id" value="post1"></input>
<button type="Submit">Like!</button>
</form>
// Create connection
$conn = mysqli_connect($hostname, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$postid = $_POST['post_id'];
$sqlcheck = "SELECT * FROM `likes`WHERE `postid` = '$postid'LIMIT 0 , 30";
$checkpost = mysqli_query($conn, $sqlcheck);
$check_post = mysqli_fetch_row($checkpost);
if ($check_post > 0) {
$sqlike = ("UPDATE likes SET postlikes = postlikes + 1 WHERE postid = '".$postid."'");
echo "<script>alert('" . $postid . "');</script>";
if (mysqli_query($conn, $sqllike)) {
echo "New like created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
} else {
$sqlnewpost = "INSERT INTO `tentoesdown`.`likes` (`postid` ,`postlikes`)VALUES ('$postid', '1');";
echo "<script>alert('ya2');</script>";
if (mysqli_query($conn, $sqlnewpost)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
}
找不到这个错误!
改变这一行:
if ($check_post > 0) {
至:
if ( (count($check_post) > 0 ) {
mysqli_fetch_row
将始终返回一个数组,而不是一个数字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.