php - mySQL中如何将一批数据添加到一批数据中?

标签 php mysql

我将文件中的数据插入数据库:

   $sql = "INSERT INTO people (id,name,item1) values(?,?,?) ";
   $q = $pdo->prepare($sql);

   foreach($data as $row) {
       $q->execute(array($id, $row['name'], $row['item']);  
   }

结果如下所示:

╔═════╦═══════╦═════════╦═════════╗
║ id  ║ name  ║  item1  ║  item2  ║
╠═════╬═══════╬═════════╬═════════╣
║ 12  ║ fred  ║ 24C8EI  ║         ║
║ 12  ║ alan  ║ 767CG5  ║         ║
║ 12  ║ tom   ║ 382F74  ║         ║
╚═════╩═══════╩═════════╩═════════╝

直到这一步一切正常。

现在我想用文件副本的数据更新我的数据库(检查副本是否具有相同的内容。我想比较稍后的 item1 和 item2 是否相同)。我的尝试不起作用:

$sql = "UPDATE people SET item2 = ? WHERE id = 12";
$q = $pdo->prepare($sql);
foreach($data as $row) {
   $q->execute(array($row['item'], $id));
}

我认为我有一些逻辑问题。我希望我的解释足以理解我想要实现的目标。

最佳答案

从查询中删除 id = 12;。因为您在执行语句中传递了两个参数

应该是

$id=12;// initlize you id
$sql = "UPDATE people SET item2 = ? WHERE id = ?";
$q = $pdo->prepare($sql);
foreach($data as $row) {
   $q->execute(array($row['item'], $id));
}

关于php - mySQL中如何将一批数据添加到一批数据中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33235292/

相关文章:

php - Joomla:为什么 "Extension Manager"菜单项没有显示在 "Extensions"下拉菜单中?

php - 预输入、级联、mysql

MySQL IN 问题

php - 将 HTML 表数据添加到 MySQL 数据库中

php - PHP中两个DateTime之间微秒精度的差异

php - 应用程序日志 - 使用 MySQL 或文本进行跟踪和维护

c++ - get_driver_instance() MySQL C++ VS2010 的链接器错误

php - MySQL + PhP - 搜索多个单词

MySQL返回错误的搜索记录

php - 将IOS中加密的JSON数据发送给PHP解密