2016-11-24 66 views
1

我在向數據庫提交輸入數組時遇到了一些問題。將數組提交到數據庫

更具體地說,我收到了這個錯誤「數組到字符串轉換」,我綁定了參數。我如何通過foreach循環提交數組,以便它們都是彼此獨立的。

這裏是形式

<form name = "entries" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
<input type="text" class="form-control input-lg" name="myInputs[]"> 
<input type="text" class="form-control input-lg" name="myInputs[]"> 
<input type="text" class="form-control input-lg" name="myInputs[]"> 
<input id = "submit1" name="submit1" type="submit"> 

這裏是PHP

$inputs = (empty($_POST['myInputs'])) ? : $_POST['myInputs'] ; 
    foreach ((array)$inputs as $eachInput) { 
     $query = $db->prepare("INSERT INTO `entries` (entries) VALUES(:inputs)"); 
     $query->bindParam(':inputs', $inputs, PDO::PARAM_STR); 
     $query->execute(); 
    } 

回答

1

請嘗試下面的代碼來替換你的PHP代碼。

$inputs = $_POST['myInputs']; 
if(count($inputs) > 0) { 
    foreach ($inputs as $eachInput) { 
     $query = $db->prepare("INSERT INTO `entries` (entries) VALUES(:inputs)"); 
     $query->bindParam(':inputs', $eachInput, PDO::PARAM_STR); 
     $query->execute(); 
    } 
} 

如果有任何查詢,然後讓我知道。

+0

謝謝你,真棒。爲什麼我必須將它從$ inputs =(empty($ _ POST ['myInputs']))更改? :$ _POST ['myInputs'];到$ inputs = $ _POST ['myInputs'];雖然?這是我不明白的唯一部分 – user3594895

+0

@ user3594895我只是在正確的方式。如果你有空數組,那麼不需要運行foreach循環。你的代碼也是對的:) – Jalpa