我将文件中的数据插入到我的数据库中:
$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));
}
我认为我有一些逻辑问题。我希望我解释得足以理解我想要达到的目标。
答案 0 :(得分:0)
从查询中删除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));
}