我在向数据库提交输入数组时遇到了一些问题。
更具体地说,我在绑定参数的行上收到此错误“数组到字符串转换”。我如何通过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();
}
答案 0 :(得分: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();
}
}
如果有任何疑问,请告诉我。