简体   繁体   English

为什么这些UPDATE&INSERT INTO查询不起作用? PHP和MySQL

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM