[英]PHP Last item in array is empty within foreach
我有一個問題,當我將結果插入數據庫時,由於某種原因,數組 ($item) 中的最后一項為空。
$foo = 0;
$bar = 0;
$item = array(); // the problem array
foreach ($_POST as $key => $value){
$query = "SELECT data FROM table0 WHERE column = '$value'";
$result = mysqli_query ($dbc, $query) or trigger_error();
$data = mysqli_fetch_array ($result, MYSQL_NUM);
if ($data[0] =='1'){
$foo = $foo + 1;
$bar = $bar + $data[1];
}else{
$item[] = $data[2];
}
}
foreach ($item as $number){
$query2 = "SELECT data FROM table1 WHERE column = '$number'";
$result2 = mysqli_query ($dbc, $query2) or trigger_error();
$row = mysqli_fetch_array ($result2, MYSQL_NUM);
$query3 = "INSERT INTO table2 (col1, col2, col3) VALUES ('', '$row[0]', '$row[1]')";
$result3 = mysqli_query ($dbc, $query3) or trigger_error();
}
從 $query3 插入的最后一行沒有值,因為 $item 數組的末尾有一個空值。
$item 最終看起來像array ([0]=>1 [1]=>2 [2]=>3 [3]=>)
但 $_POST 數組中沒有空。
感謝您提供任何高級反饋。
您需要檢查SELECT
查詢是否找到了一些東西。
foreach ($_POST as $key => $value){
$query = "SELECT data FROM table0 WHERE column = '$value'";
$result = mysqli_query ($dbc, $query) or trigger_error();
$data = mysqli_fetch_array ($result, MYSQL_NUM);
if ($data) {
if ($data[0] =='1'){
$foo = $foo + 1;
$bar = $bar + $data[1];
}else{
$item[] = $data[2];
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.