Php 添加“WHERE”条件时不返回结果的查询

Php 添加“WHERE”条件时不返回结果的查询,php,mysql,Php,Mysql,下面的查询未返回任何结果。我从一个正在运行的查询中复制了它,唯一不同的是添加了以下条件: 其中submissionid=$submissionid 你知道为什么这个查询没有返回任何结果吗 $sqlStr2 = "SELECT s.loginid ,s.title ,s.url ,s.displayurl ,s.datesubmitted

下面的查询未返回任何结果。我从一个正在运行的查询中复制了它,唯一不同的是添加了以下条件:

其中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>";

只是一种预感,但您确定有符合条件的行吗

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\'。

读取代码所花费的精力越少,我们就越容易、更快地提供帮助。请以后不要使用制表符格式。转义引号是不必要的,因为换行引号是双引号,而不是单引号。我曾经使用过这种引号,并且可以拒绝没有引号的查询,特别是如果是数字查询。