此代码有什么问题?我已经尽了一切努力来修复它。
$sql9 = "SELECT * FROM like WHERE postid='$pid' AND userid='$userid'";
$result9=mysql_query($sql9);
if($result9){
echo "It worked!";
}
您的表名是一个保留字您必须使用反勾号:
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();
您不能将任何关键字用作表。请尝试使用表的其他名称。
您必须用引号将like括起来,因为like是mysql的保留关键字。因此mysql会将其视为LIKE子句
查询应该如下所示。
$sql9 = "SELECT * FROM `like` WHERE postid='$pid' AND userid='$userid'";
$result9=mysql_query($sql9);
if($result9){
echo "It worked!";
}