Php MySQL-在哪里,和&;或语法

Php MySQL-在哪里,和&;或语法,php,mysql,chat,Php,Mysql,Chat,我正在编写一个私人聊天程序,但现在我遇到了这个问题: 您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解第1行“to='gskartwii'或sender='gskartwii'和to='gs'附近使用的正确语法 警告:mysql_fetch_assoc()希望参数1是资源,布尔值在第38行的C:\xampp\htdocs\rivase\private.php中给出 这是我的代码: <!-- language: php --> <?php $result=mys

我正在编写一个私人聊天程序,但现在我遇到了这个问题:
您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解第1行“to='gskartwii'或sender='gskartwii'和to='gs'附近使用的正确语法
警告:mysql_fetch_assoc()希望参数1是资源,布尔值在第38行的C:\xampp\htdocs\rivase\private.php中给出
这是我的代码:

<!-- language: php -->
<?php
$result=mysql_query("SELECT * FROM rivase_chat_posts WHERE sender='$user' AND to='$user2' OR sender='$user2' AND to='$user'");
echo mysql_error();
while ($row = mysql_fetch_assoc($result)) {
    $sender=$row['sender'];
    $content=$row['content'];
    $time=$row['time'];
    echo "$sender : $content <span class='hidden'>$time</span><br />\n";
}
?>


尝试使用反勾号将
转义到

$result=mysql_query("SELECT * FROM rivase_chat_posts 
                    WHERE sender='$user' AND `to`='$user2' 
                    OR sender='$user2' AND `to`='$user'");

TO是一种特殊的语言


应该有效。

此外,使用准备好的语句:
$result=mysql_query("SELECT * FROM rivase_chat_posts WHERE sender='$user' AND `to`='$user2' OR sender='$user2' AND `to`='$user'");