Запрос ниже не возвращает никаких результатов. Я скопировал его из запроса, который работал, и единственным отличием является добавление следующего условия:
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>";
c.submissionid
и s.submissionid
- возможно, вы должны указать в своем запросе тот, который вы хотите использовать. Пример: WHERE s.submissionid=$submissionid
GROUP BY
должен идти после предложения WHERE
.Просто догадка, но уверены ли вы, что есть какие-либо строки, которые соответствуют этому условию?
WHERE submissionid=$submissionid
Кроме того, вы проверили значение $submissionid, чтобы убедиться, что знаете, что в нем, когда запрос не возвращает строки?
Попробуйте следующее:
$result2 = mysql_query ($ sqlStrt2) или die ( "Ошибка". mysql_error());
Чтобы узнать, есть ли проблема с запросом.
ваш запрос $sqlStr2
не будет quieted.it будет полезно спокойно все fisrt, и я думаю, что это WHERE submissionid=$submissionid
должно понравиться это WHERE submissionid=\'$submissionid\
'.
Я действительно не использую php, но похоже, что это может не быть заполнением переменной. Так что, возможно:
WHERE submissionid=".$submissionid."
Чтобы убедиться, что распечатайте $sqlStr2
, чтобы узнать, что это такое.