2010-06-22 105 views
0

以下查询未返回任何结果。我已经远离了正在查询并唯一不同的复制它是增加了以下条件:当向其添加“WHERE”条件时,查询不返回结果

WHERE submissionid = $ submissionid

任何想法,为什么这个查询没有返回任何结果?

$sqlStr2 = "SELECT 
       s.loginid 
       ,s.title 
       ,s.url 
       ,s.displayurl 
       ,s.datesubmitted 
       ,l.username 
       ,s.submissionid 
       ,COUNT(c.commentid) countComments 
      FROM submission s 
      INNER JOIN login l ON s.loginid = l.loginid 
     LEFT OUTER JOIN comment c ON s.submissionid = c.submissionid 
       GROUP BY s.submissionid 
      WHERE submissionid=$submissionid 
      ORDER BY s.datesubmitted DESC 
      LIMIT 10"; 

$tzFrom2 = new DateTimeZone('America/New_York'); 
$tzTo2 = new DateTimeZone('America/Phoenix'); 

$result2 = mysql_query($sqlStr2); 

$arr2 = array(); 
echo "<table class=\"samplesrec\">"; 
while ($row2 = mysql_fetch_array($result2)) { 
    $dt2 = new DateTime($row2["datesubmitted"], $tzFrom2); 
    $dt2->setTimezone($tzTo2); 
    echo '<tr>'; 
    echo '<td class="sitename1"><a href="http://www.'.$row2["url"].'" TARGET="_blank">'.$row2["title"].'</a> <div class="dispurl">'.$row2["displayurl"].'</div></td>'; 
    echo '</tr>'; 
    echo '<tr>'; 
    echo '<td class="sitename2name">Submitted by <a href="http://www...com/.../members/index.php?profile='.$row2["username"].'">'.$row2["username"].'</a> on '.$dt2->format('F j, Y &\nb\sp &\nb\sp g:i a').'</td>'; 
    echo '</tr>'; 
    echo '<tr>'; 
    echo '<td class="sitename2"><a href="http://www...com/.../comments/index.php?submissionid='.$row2["submissionid"].'">'.$row2["countComments"].' comments</a></td>'; 
    echo '</tr>'; 
    } 
echo "</table>"; 
+0

阅读代码花费的精力越少,我们提供的帮助就越容易,速度也越快。请不要在将来使用标签格式。 – 2010-06-22 21:17:27

回答

3
  • 还有c.submissionids.submissionid - 也许你应该在你的查询中说明你想使用哪一个。例如:WHERE s.submissionid=$submissionid
  • 我认为GROUP BY应该去WHERE条款后。
+0

感谢您的好评。 – John 2010-06-24 08:41:39

4

只是一个预感,但你确定有任何满足条件的行吗?

WHERE submissionid=$submissionid 

另外,你检查的$ submissionid值,以确保你知道它是什么时候的查询返回行?

0

我真的不使用php,但它看起来可能不会填充变量。所以也许这样做:

WHERE submissionid=".$submissionid." 

只是要打印出$sqlStr2看看它是什么。

2

尝试这种情况:

$ RESULT2 =的mysql_query($ sqlStrt2)或死亡( “错误” mysql_error());

查看查询是否有问题。

0

查询$sqlStr2没有quieted.it的是有效地安静所有最前一页,我想这应该WHERE submissionid=$submissionid喜欢这个WHERE submissionid=\'$submissionid\”。

+0

转义引号是不必要的,因为包装引号是双引号,而不是单引号。 – waiwai933 2010-06-22 22:20:13

+0

我曾经用这个引号练习过,并且一个查询可以被拒绝而不用引号,特别是如果它是数字的。 – sherilyn 2010-06-22 22:25:36