2012-08-29 5 views
3

Je suis en train de programmer un chat privé, mais maintenant j'ai ce problème:
Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser près de 'to =' gskartwii 'OR sender =' gskartwii 'ET à =' gs '' à la ligne 1
Attention: mysql_fetch_assoc() attend le paramètre 1 à être ressource, booléenne donnée dans C: \ xampp \ htdocs \ rivase \ private.php sur la ligne 38
Ceci est mon code:MySQL - O WH, AND & OR syntax

<!-- 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"; 
} 
?> 

Merci pour vous tous pour les réponses rapides et bonnes!

Répondre

8

try échapper to avec des accents graves

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

since it is a reserved word in MySQL

+0

Utilisez également des instructions préparées: http://php.net/manual/fr/pdo.prepared-statements.php – Silox

1

A est un reserved word.

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

Devrait fonctionner.