php - 使用 DBH 在 PHP 中循环 MySQL 查询

标签 php mysql

大家。

我想将一个数组存储在数据库中。每行中的每个元素。所以我使用 DBH 创建了一个带有查询的循环。由于正常查询(无循环)没有问题,循环中的查询不起作用。我应该如何更正我的代码?

for($i=0;$i<$count($array);$i++)
 {
    $stmt = $dbh->prepare("INSERT INTO table (column1, column2) VALUES (:value1, :value2)");
    $stmt->bindValue(':value1', $value1[$i]);
    $stmt->bindValue(':value2', $value2[$i]);
    $stmt->execute();
 }

即使这个变体也不起作用

for($i=0;$i<$count($array);$i++)
 {
    $stmt[$i] = $dbh->prepare("INSERT INTO table (column1, column2) VALUES (:value1, :value2)");
    $stmt[$i]->bindValue(':value1', $value1[$i]);
    $stmt[$i]->bindValue(':value2', $value2[$i]);
    $stmt[$i]->execute();
 }

最佳答案

我通过在一个循环中构建查询并在循环外执行它来解决该问题

$query = "";

for($i=0;$i<$count;$i++)
  {
     $query .= "INSERT INTO `table` (`column1`, `column2`) VALUES ('".$velue1[$i]."', '".$value2[$i]."'); ";
  }

rtrim($query, "; ");

$stmt = $dbh->prepare($query);
$stmt->execute();

关于php - 使用 DBH 在 PHP 中循环 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41619981/

相关文章:

php - 如何从 MySQL 中获取值并将它们打印到 PHP 中

php - 如何从两个 MySQL 表中显示用户

mysql - 我可以在不覆盖默认分页的情况下对自定义查询进行分页吗?

php - SQLSTATE[42000] : Syntax error or access violation: 1055

php - 使用 Codeigniter 从结果集中获取值

php - SQL SELECT,显示多列中的多行

android - 在android studio中使用REST api根据用户ID获取用户名

mysql - SQL 插入与连接

php - jBBCode - BBcode 到 html

php - 使用 PHP 将时间戳插入 MySQL