我正在升級我的網站,並希望從具有相同代碼的多個頁面移動到執行所有用戶操作的單個頁面。我可以做得很好,但因爲用戶可以請求任何不可預測的內容,所以某些<div>
標籤將爲空,並且MySQL將拋出未定義的偏移錯誤,因爲database
中沒有足夠的內容來填充fetch_array()
。一些示例代碼..避免未定義的空數組偏移錯誤
<?php
$dbhost = 'localhost';
$dbname = 'd_dundaah';
$dbuser = 'max';
$dbpass = '';
$conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
if ($conn->connect_error) die($conn->connect_error);
$query = "SELECT * FROM events WHERE day='mon'";
$result = $conn->query($query);
if (!$result) die($conn->error);
$rows = $result->num_rows;
$j = 0;
$heading_array='';
$paragraph_array='';
while ($j < $rows)
{
$result->data_seek($j);
$row = $result->fetch_array(MYSQLI_ASSOC);
$event_heading = $row['heading'];
$event_paragraph = $row['paragraph'];
$heading_array[]=$event_heading;
$paragraph_array[]=$event_paragraph;
++$j;
}
$result->close();
$conn->close();
?>
然後調用數據時,如果mon
只有一行數據的偏移誤差將被調用。我如何讓MySQL忽略這個?
<div class="one">
\t <h1><?php echo $heading1[0];?></h1>
\t <p><?php echo $paragraph1[0];?></p>
</div>
<!--ignore this 'two' if none existent in database-->
<div class="two">
\t <h1><?php echo $heading1[1];?></h1>
\t <p><?php echo $paragraph1[1];?></p>
</div>
謝謝。
使用'empty'或'isset' - [PHP: 「通知:未定義變量」 和 「通知:未定義指數」]!(http://stackoverflow.com/questions/4261133/php-notice-未定義的變量和 - 通知-未定義索引) – jitendrapurohit