我将文件中的数据插入数据库:
$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/