以下查询未返回任何结果。我从一个正在运行的查询中复制了它,唯一不同的是添加了以下条件:
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 :(得分:4)
只是预感,但你确定有任何符合条件的行吗?
WHERE submissionid=$submissionid
另外,您是否检查了$ submissionid的值,以确保在查询没有返回任何行时知道其中的内容?
答案 1 :(得分:3)
c.submissionid
和s.submissionid
- 也许你应该在你的查询中说明你想要使用哪一个。示例:WHERE s.submissionid=$submissionid
GROUP BY
应该遵循WHERE
条款。答案 2 :(得分:2)
试试这个:
$ result2 = mysql_query($ sqlStrt2)或die(“Error”.mysql_error());
查看查询是否存在问题。
答案 3 :(得分:0)
我真的不使用php,但看起来它可能没有填充变量。也许这样做:
WHERE submissionid=".$submissionid."
确保打印$sqlStr2
以查看它是什么。
答案 4 :(得分:0)
您的查询$sqlStr2
并未安静。首先请保持安静,我想这WHERE submissionid=$submissionid
应该喜欢WHERE submissionid=\'$submissionid\
'。