这段代码有什么问题?我已经尝试了一切来尝试解决它。
$sql9 = "SELECT * FROM like WHERE postid='$pid' AND userid='$userid'";
$result9=mysql_query($sql9);
if($result9){
echo "It worked!";
}
答案 0 :(得分:6)
你的桌子名称是reserved word,你必须在它周围使用它:
SELECT * FROM `like` WHERE postid='$pid' AND userid='$userid'
此外,您应该避免使用mysql_*
这是一个已弃用的库,并使用MySQLi或PDO和预先准备好的语句来避免SQL注入。
以下是使用PDO的示例:
$sql = "SELECT *
FROM `like`
WHERE postid = :postId AND
userid = :userId";
$result = $con->prepare($sql);
$result->bindParam(':postId', $pid, PDO::PARAM_INT);
$result->bindParam(':userId', $userid, PDO::PARAM_INT);
$result->execute();
答案 1 :(得分:0)
你必须用引号括起来,因为like是mysql的保留关键字。所以mysql会将它视为LIKE子句 查询应如下所示。
$sql9 = "SELECT * FROM `like` WHERE postid='$pid' AND userid='$userid'";
$result9=mysql_query($sql9);
if($result9){
echo "It worked!";
}
答案 2 :(得分:0)
您不能将任何关键字用作表格。尝试使用表格的其他名称。