2011-10-06 74 views
1

我有把两个地方的语句一起把2个WHERE语句一起

我当前的代码问题:

include 'config.php'; 

$result22 = mysql_query("SELECT * FROM messages WHERE to_user='".$_SESSION['username']."'  AND to_read_yet='yes' "); 


$num_rows22 = mysql_num_rows($result22); 


echo "$num_rows22 "; 

出于某种原因,这是行不通的。我没有得到任何结果我检查了数据库,并有这应该出来

+0

你必须首先有语法错误:字*否*周围的双引号。 –

+1

这就是你得到的......开发人员,特别是web开发人员,假设他们不需要学习SQL。请。为了您自己的利益,@nickkdavies,请阅读关于MySQL的书。当你完成它时 - 阅读[SQM反模式](http://pragprog.com/book/bksqla/sql-antipatterns)。 –

+1

在我看来,这个问题从最初的问题已经发生了相当大的变化。如果你觉得原来的问题已经得到解答(我认为它已经解决了),也许你应该接受一个答案并提出一个新问题? – henko

回答

3

你应该阅读有关SQL语法的结果。在你用bool操作符放置任何数字条件之后。使用2倍where是不正确

$result = mysql_query("SELECT * FROM messages WHERE to_user='".$_SESSION['username']."'  AND to_read_yet='"no"' "); 
+0

页面与代码死亡 –

+0

感谢代码工作是我自己的错复制和粘贴错误的LOL –

3

离开第二WHERE表达出来,它只是WHERE condition_1和condition_2和condition_3及....

$result = mysql_query("SELECT * FROM messages WHERE to_user='".$_SESSION['username']."' AND to_read_yet='"no"' "); 
+0

对于一些resson它没有得到任何结果将改变代码的最高位,显示完整的代码现在 –

+0

我对PHP并不熟悉,但不应该是'ECHO $ Result22'而不是'ECHO“Result22”'?如果没有'$ Result22?'的引号,您是否尝试在数据库管理系统中运行该命令?看看它在那里工作? – Tjekkles

1
SELECT * 
FROM messages 
WHERE to_user = '".$_SESSION['username']."' 
    AND to_read_yet= '"no"' 
+0

对于一些resson它没有得到任何结果将改变代码的最高位,现在显示的完整代码 –

+1

你尝试在你的DB外壳此查询? –

1

尝试使用:

$result = mysql_query("SELECT * FROM messages WHERE to_user='".$_SESSION['username']."'  AND to_read_yet='no' "); 
+0

对于一些resson它没有得到任何结果将改变代码的最高位,现在 –

1
$result = mysql_query("SELECT * FROM messages WHERE to_user='" . $_SESSION['username'] . "' AND to_read_yet='no'"); 

挂断第二个WHERE

+0

充分展现代码对于一些resson它没有得到任何结果将改变代码的最高位,现在显示的完整代码 –