【问题标题】:inserting multiple entry into multiple table php pdo将多个条目插入多个表php pdo
【发布时间】:2015-02-21 06:30:55
【问题描述】:

按照教程here 在数据库中保存多个条目我想出了这段代码

foreach($array as $value){
     $stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
     $stmt->bindParam(':name', $value['name']);
     $stmt->bindParam(':value', $value['value']);
     $stmt->execute();
}

foreach($array1 as $value){
     $stmt = $dbh->prepare ("INSERT INTO user (firstname, surname) VALUES (:fname, :sname)");
      $stmt -> bindParam(':fname', 'John');
      $stmt -> bindParam(':sname', 'Smith');
      $stmt -> execute();
}

我有类似的东西,只是表和值不同,但代码是相同的。我想问为什么第二个foreach 没有触发,它没有被保存,只有第一个foreach 被触发并且只保存了第一组数据。如何让它们都被触发和保存。

【问题讨论】:

  • 你试过打印$array1吗?有没有值,用print_r($array1)
  • 不...你不能使用f-names-name,尝试用f_names_name替换它

标签: php mysql sql pdo


【解决方案1】:

确保使用与第一个数组相同的关键字 代替: 值 (:f-name, :s-name)") 由

VALUES (:fname, :sname)")

因为你的 stmt 调用 fname 和 sname,而不是 s-name 和 f-name

【讨论】:

    猜你喜欢
    • 2011-01-11
    • 2011-08-06
    • 1970-01-01
    • 1970-01-01
    • 2014-07-09
    • 2014-08-12
    • 1970-01-01
    • 2016-02-12
    • 1970-01-01
    相关资源
    最近更新 更多