有人可以帮助我。我正在尝试通过将值插入mysql并自动增加“喜欢”列的更新次数来创建一个基本的类似系统。
基本上,脚本将插入当前没有任何记录的位置,如果有记录则更新。
我正在尝试将'user_id'作为值插入,但只有inserted_id被插入到表中。 'likes'列正在自动递增,因为它应该是但我需要找出我如何插入user_id这是用户会话ID aswel并且这没有被放入。我也试图更新列' user_id_has_liked'从枚举值0到1作为最终结果。
有人可以告诉我我哪里出错了。感谢
<?php
require_once('includes/session.php');
require_once('includes/functions.php');
require('includes/_config/connection.php');
session_start();
confirm_logged_in();
if (isset ($_GET['to'])) {
$user_to_id = $_GET['to'];
}
if (!isset($_GET['to']))
exit('No user specified.');
$user_id = $_GET['to'];
$result = mysql_query("SELECT * FROM ptb_likes WHERE liked_id ='".$user_to_id."' ");
if( mysql_num_rows($result) > 0) {
mysql_query("UPDATE ptb_likes SET likes = likes +1 WHERE liked_id = '".$user_to_id."' ");
$user_to_id = mysql_query("ALTER TABLE likes AUTO_INCREMENT = $id");
}
else
{
mysql_query("INSERT INTO ptb_likes (user_id,liked_id) VALUES ('".$_SESSION['user_id'].",".$user_to_id."') ");
}
$result1 = mysql_query("UPDATE ptb_likes SET user_id_has_liked='1' WHERE user_id=".$_SESSION['user_id']."")
or die(mysql_error());
if($result)
{
header("Location: {$_SERVER['HTTP_REFERER']}");
}
?>
答案 0 :(得分:0)
正如其他人所说,mysql_ *语句被删除,使用mysqli_ *语句......
第一个问题是用户id insert语句中的代码缺少一些引号,它应该如下所示:
mysql_query("INSERT INTO ptb_likes (user_id,liked_id) VALUES ('".$_SESSION['user_id']."','".$user_to_id."') ");
user_id_has_liked查询问题可能是由enum变量是mysql中的整数引起的。您也可以尝试将查询保存到查询变量并将变量传递给查询函数以便于阅读......
$query = "UPDATE ptb_likes SET user_id_has_liked='1' WHERE user_id=".$_SESSION['user_id'];
$result1 = mysql_query($query) or die(mysql_error());