【发布时间】:2016-11-10 17:54:38
【问题描述】:
我正在尝试更新数据库中的多行。我计算了表中的总行数并绑定到一个变量:
$result = '32'
然后我尝试查询每一行:
for ($x = 0; $x <= $result; $x++)
{
if ($update = $db -> prepare("UPDATE substrates SET substrate_name = ?, substrate_desc = ?, substrate_base = ?, substrate_tax = ? WHERE substrate_id = ?"))
{
$substrate_name = $_POST['substrate_name'];
$substrate_desc = $_POST['substrate_desc'];
$substrate_base = $_POST['substrate_base'];
$substrate_tax = $_POST['substrate_tax'];
$substrate_id = $x;
$update -> bind_param('sssss', $substrate_name, $substrate_desc, $substrate_base, $substrate_tax, $substrate_id);
if ($update -> execute() == true) {
// Success stuff...
}
else {
// Error stuff...
}
$update -> close();
}
}
我的问题是当我运行这个脚本时,表格中的每一行都填充了最后一行编辑。例如:
AAA | Aaaaa | 1.00 | 6.35
BBB | Bbbbb | 2.00 | 6.35
CCC | Ccccc | 3.00 | 6.35
变成:
CCC | Ccccc | 3.00 | 6.35
CCC | Ccccc | 3.00 | 6.35
CCC | Ccccc | 3.00 | 6.35
如何修复此脚本,以便它单独更新每一行?
【问题讨论】:
-
你是什么意思他们每个成为编辑的最后一行?您将它们全部设置为相同的后变量,因此我希望它们都变得相同。
-
变量没有改变。它们来自哪里,采用什么格式?