[英]Why are these UPDATE & INSERT INTO queries not working? PHP & MySQL
I have 2 queries. 我有2个查询。 Query #1 updates some things in the database, and Query #2 inserts some data into the table. 查询#1更新数据库中的一些内容,查询#2将一些数据插入表中。
Code: 码:
function add_like($id) {
$connection = new mysqli($host, $username, $password, $database);
$id = $connection->real_escape_string($id);
$query = $connection->query("UPDATE `posts` SET `post_likes` = `post_likes` + 1 WHERE `id` = '$id'");
$likes_query = $connection->query("INSERT INTO `likes` VALUES (".$_SESSION['user_login'].", $id)");
}
The first query ( $query
) should add 1 like to the database. 第一个查询( $query
)应该像数据库一样添加1。 So starting at 0 it should +1. 所以从0开始应该+1。 Instead, it does +12. 相反,它确实+12。
The second query ( $likes_query
) does not INSERT INTO likes
. 第二个查询( $likes_query
)没有INSERT INTO likes
。
Any help would be much appreciated. 任何帮助将非常感激。 Thanks! 谢谢!
UPDATE: 更新:
Changed the second query to: 将第二个查询更改为:
$likes_query = $connection->query("INSERT INTO `likes` (`user_id`, `post_id`) VALUES ('$user', '$id')");
Final code: 最终代码:
function add_like($id) {
if (isset($_SESSION['user_login'])) {
$user = $_SESSION["user_login"];
}
else {
$user = "";
}
$connection = new mysqli($host, $username, $password, $database);
$id = $connection->real_escape_string($id);
$query = $connection->query("UPDATE `posts` SET `post_likes` = `post_likes` + 1 WHERE `id` = '$id'");
$likes_query = $connection->query("INSERT INTO `likes` (`user_id`, `post_id`) VALUES ('$user', '$id')");
}
All issues fixed. 所有问题都已解决 Thanks for all your comments! 谢谢你们的评论!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.