當我點擊我的web應用程序中的一個項目,它包含的值,我沒有得到任何錯誤,但我創建了另一個項目與MySQL中的空字段,我點擊它在我的web應用程序(PHP應用程序),所以我得到這個錯誤:錯誤當空的MySQL字段,甚至條件
Undefined variable: total in C:\wamp\www\architect\projDetails.php on line 80
我有這樣的PHP代碼:
$id = $_REQUEST['id'];
$sql = "SELECT (SELECT SUM(total_pay) FROM workers) total,workers. * FROM workers WHERE projects_id = ".$id." ORDER BY date_of_pay DESC";
$stmt = mysqli_query($con, $sql) or die($sql."<br/><br/>".mysqli_error($con));
在這裏,HTML和PHP代碼線附近80:
<tr>
<?php while($rows = mysqli_fetch_array($stmt)){ $total = 0; ?>
<tr>
<?php if($rows['total']!=0){
$total = $rows['total'];
}
else {
$total = "غير متوفر";
}
?>
<td align="center"><?php echo $rows['total_pay']?></td>
<td align="center"><?php echo $rows['date_of_pay']?></td>
<td align="center"><?php echo $name['project_name'] ?></td>
<td align="center"><!--<input class="imgClass_insert" type="submit" name="submit1" value="" />-->
<input class="imgClass_dell" type="submit" onClick="return confirm('Are you sure you want to delete?')" name="delete_workers" value=""/>
</td>
</tr>
</tr>
<?php } ?>
<tr>
<td colspan="3">مجموع تكاليف العمال في مشروع <?php echo $name['project_name']?></td>
<td align="center"><?php echo $total ?></td>
</tr>
所以當total爲空時,我得到錯誤,當它不是空的時候,我沒有得到任何錯誤,所以這裏有什麼問題?
我相信你需要學習一門**通知**之間和**錯誤differnce **,你可以找到你所需要的[這裏](http://stackoverflow.com/questions/4624474/php-difference-between-notice-and-warning) – Naruto
在你發佈的第二個代碼塊的底部'echo $ total'。但是,如果頂部的sql查詢不返回_any_值,那麼'$ total'是_never_定義的,因此未定義。一個簡單的解決方案是在'while()'循環之前設置'$ total'的安全缺省值。 – arkascha
[PHP:「Notice:Undefined variable」和「Notice:Undefined index」]的可能重複(http://stackoverflow.com/questions/4261133/php-notice-undefined-variable-and-notice-undefined-index) – Naruto