データベース内の複数の行を更新しようとしています。私は、テーブル内の行の合計数が変数にカウントし、結合した:for()を使用してmysqlデータベースの複数の行を更新する
$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
それは個別の行を更新しますので、どのように私はこのスクリプトを修正できますか?
それぞれ最後の行が編集されるとどういう意味ですか?それらをすべて同一のポスト変数に設定するので、それらがすべて同じになることが期待されます。 – Chris
変数は変更されません。彼らはどこから来てどのフォーマットで来ますか? –