4

我正在编写一个私人聊天的东西,但现在我遇到了这个问题:
你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'to='gskartwii' OR sender='gskartwii' AND 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";
}
?>

感谢大家的快速和良好的答复!

4

2 回答 2

10

尝试to用反引号转义

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

因为它是 MySQL 中的保留字

于 2012-08-29T12:34:34.173 回答
1

TO 是保留字

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

应该管用。

于 2012-08-29T12:35:13.143 回答