PDO在数组中插入数组

问题描述

我很困惑……我遇到一个小问题,使我发疯。 我要插入到sql表中的数组中有数组。 我的问题是我不知道如何在数组中插入数组...

数组: Array([1] => Array([diploma] => Master [institut] => IAE)[2] => Array([diploma] => License [institut] =>Université))

欢迎任何建议:)非常感谢法国!

<input id="mytext-{cid}" type="text" name="training[{cid}][diploma]" placeholder="Diplôme" value="">
<input name="training[{cid}][institut]" placeholder="Institut">

 try
{
$pdo = new PDO('MysqL:host='.$host.';dbname='.$bd,$login,$password);
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_OBJ);
}
catch (Exception $e) //Le catch est chargé d’intercepter une éventuelle erreur
{
die ($e->getMessage());
}
global $pdo;

// INSERT MysqL

if (empty($_POST['training'])){

}
else {      
    $sql = "INSERT INTO user_resume (Diplome,Institut) VALUES (?,?)";
    $stmt= $pdo->prepare($sql);
    $stmt->execute($_POST['training']);
}        

解决方法

您需要遍历多维数组并使用命名的占位符,以使值匹配。

$sql = "INSERT INTO user_resume (Diplome,Institut) VALUES (:diploma,:institut)";
$stmt= $pdo->prepare($sql);
foreach($_POST['training'] as $params){
    $stmt->execute($params);
}