我在使此代码正常工作时遇到问题。当找到记录并显示数据但不执行else
以及echo
未找到数据库中的记录时,它正在工作。我猜这与我如何构建代码有关。我已经尝试了几种不同的方法,但没有运气。我正在使用 sqlite3 数据库
$recID = '55';
$results2 = $db2->query("SELECT * FROM Movies WHERE TMDBid = '$recID'");
while($row2 = $results2->fetchArray()){
if(!empty($row2['id'])){
$Runtime = $row2['Runtime'];
$Budget = $row2['Budget'];
$Revenue = $row2['Revenue'];
$Production = $row2['Production'];
echo $Runtime.'<br>';
echo $Budget.'<br>';
echo $Revenue.'<br>';
echo $Production.'<br><br>';
}else{
echo 'No Record Exists';
}
}
我也尝试过这种方式,这种方式在找不到记录时有效,但在记录存在时不会显示数据。
$recID = '55';
$results2 = $db2->query("SELECT * FROM Movies WHERE TMDBid = '$recID'");
if($results2->fetchArray() !== false){
while($row2 = $results2->fetchArray()){
$Runtime = $row2['Runtime'];
$Budget = $row2['Budget'];
$Revenue = $row2['Revenue'];
$Production = $row2['Production'];
echo $Runtime.'<br>';
echo $Budget.'<br>';
echo $Revenue.'<br>';
echo $Production.'<br><br>';
}
}else{
echo 'No Record Exists';
}
它不会击中 ELSE 或 ECHO,因为你永远不会进入。如果没有记录,则 fetchArray() 返回 false。
在你的例子中:
$recID = '55';
$results2 = $db2->query("SELECT * FROM Movies WHERE TMDBid = '$recID'");
$numrecs = 0;
while($row2 = $results2->fetchArray()){
$numrecs++;
$Runtime = $row2['Runtime'];
$Budget = $row2['Budget'];
$Revenue = $row2['Revenue'];
$Production = $row2['Production'];
echo $Runtime.'<br>';
echo $Budget.'<br>';
echo $Revenue.'<br>';
echo $Production.'<br><br>';
}
if ($numrecs == 0) {
echo 'No Record Exists';
}
有更多方法可以给这只猫剥皮,但根据您现有的代码,您可能会发现这是最简单的方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句