Php 将数组传递到PDO
我有一个表单,它有不同的输入。其中一个部分是静态的,另一个是动态的。例如,在每次提交表单时,下面的Php 将数组传递到PDO,php,mysql,Php,Mysql,我有一个表单,它有不同的输入。其中一个部分是静态的,另一个是动态的。例如,在每次提交表单时,下面的实践和地址字段不会更改,但是名字、姓氏和类型将是数组。我想做的是找到一种方法将表单提交发送到mySQL数据库。我对PDO有点陌生,并且确信需要利用foreach循环来准备语句,但我已经搜索了所有地方,很难找到一个方法来实现这一点 这里有一个 Array ( [practice] => Doctors Office [address] => 123 Medical Lane
实践
和地址
字段不会更改,但是名字
、姓氏
和类型
将是数组。我想做的是找到一种方法将表单提交发送到mySQL数据库。我对PDO有点陌生,并且确信需要利用foreach
循环来准备语句,但我已经搜索了所有地方,很难找到一个方法来实现这一点
这里有一个
Array
(
[practice] => Doctors Office
[address] => 123 Medical Lane
[firstName] => Array
(
[1] => John
[2] => Robert
)
[lastName] => Array
(
[1] => Smith
[2] => Jones
)
[type] => Array
(
[1] => MD
[2] => NP
)
)
更新:
可能的重复标记答案似乎没有显示解决方案中foreach
循环的$dataArray
输入,这正是我感兴趣的。我怀疑我是否完全理解了您的问题。这是向db插入单个名称的一种方法
注意:您使用的api不推荐使用mysqli或pdo,我希望您使用它是为了学习 你到底期望它在数据库中的表现如何?您不能存储数组(您可以在PHP中存储任何对象的序列化版本,但这实际上并不相同)。在循环之外准备语句,当然可以根据需要在循环中多次执行。同一语句的多个准备不需要开销。@h2ooooooo我希望数组的每个循环都在DB中作为一个单独的行结束。@Wrikken您能演示如何执行此操作吗?我很难想象如何完成它。
foreach ($_POST['firstName'] as $index => $firstName) {
$firstName_idx = mysql_real_escape_string($firstName) ;
//$firstName_idx = $firstName_idx . '_'. $index ; //if you want to append id, do this
$sql = "INSERT into database (firstName) VALUES ('$firstName_idx')";
}