Php 添加“WHERE”条件时不返回结果的查询
下面的查询未返回任何结果。我从一个正在运行的查询中复制了它,唯一不同的是添加了以下条件: 其中submissionid=$submissionid 你知道为什么这个查询没有返回任何结果吗Php 添加“WHERE”条件时不返回结果的查询,php,mysql,Php,Mysql,下面的查询未返回任何结果。我从一个正在运行的查询中复制了它,唯一不同的是添加了以下条件: 其中submissionid=$submissionid 你知道为什么这个查询没有返回任何结果吗 $sqlStr2 = "SELECT s.loginid ,s.title ,s.url ,s.displayurl ,s.datesubmitted
$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>";
只是一种预感,但您确定有符合条件的行吗
WHERE submissionid=$submissionid
另外,您是否检查了$submissionid的值,以确保在查询未返回任何行时知道其中的内容?我实际上不使用php,但看起来它可能没有填充变量。所以也许你会:
WHERE submissionid=".$submissionid."
只是为了确保打印出$sqlStr2以查看它是什么。尝试以下操作:
$result2=mysql\u查询$sqlStrt2或dierror。错误
查看查询是否有问题
有c.submissionid和s.submissionid——也许您应该在查询中说明您想要使用哪一个。示例:其中s.submissionid=$submissionid
我认为GROUPBY应该在WHERE子句后面。
您的查询$sqlStr2没有被静默。它首先应该是有效的静默,我想这里submissionid=$submissionid应该像这里的submissionid=\'$submissionid\'。读取代码所花费的精力越少,我们就越容易、更快地提供帮助。请以后不要使用制表符格式。转义引号是不必要的,因为换行引号是双引号,而不是单引号。我曾经使用过这种引号,并且可以拒绝没有引号的查询,特别是如果是数字查询。