2014-03-04 120 views
0

好吧,我完全失去了......更新MySql數據庫與陣列

我想要實現的是更新我的數據庫中的一行。

$sizes = array($_POST['size_0'], 
       $_POST['size_1'], 
       $_POST['size_2'], 
       $_POST['size_3'], 
       $_POST['size_4']); 

$sizes_upd = implode(", ", $sizes); 

mysqli_query($con, "UPDATE beds 
        SET `Available Sizes` = '$sizes_upd' " . 
        "WHERE ID = '$prod_id' "); 

我的問題是,並非我所有的$_POST[]都包含數據。因此,讓我們說,例如$sizes[0] && $sizes[1]包含數據,則返回以下字符串:

value1, value2, , , ,

如何避免這種情況,以便只有$_POST[]數據返回值?

+1

你應該建立查詢,同時循環數組檢查,如果數據集,也是你的代碼很容易受到MySQL的注射 – Fabio

+0

使用array_filter –

回答

6

使用array_filter清理你的陣列,

$sizes_upd = implode(", ", array_filter($sizes)); 
+1

+鮑比桌,哦,對於意大利麪怪獸的愛...衛生數據庫插入 – Najzero

+0

你可以PLS停止竊取我的所有答案之前,我按這個該死的「發佈你的答案」按鈕? xD仍然+1:P –

+0

@YUNOWORK:可能是他在提前閱讀你的想法後發佈。 –