【问题标题】:PDO insert array in arrayPDO 在数组中插入数组
【发布时间】:2020-12-11 15:14:15
【问题描述】:

我很困惑......我遇到了一个让我发疯的小问题。 我在一个数组中有数组,我想插入到 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']);
}        

【问题讨论】:

    标签: php pdo prepared-statement


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-29
      • 2012-08-25
      • 1970-01-01
      • 1970-01-01
      • 2013-06-19
      • 1970-01-01
      • 2019-07-06
      相关资源
      最近更新 更多