このwhere
句を使用する場合は、update を使用する必要があります。見た目から、テーブルの列を1つしか使用していないため、とにかく更新しようとしています。
$insertstatus = $DBH->prepare("update
csvdata set status= '$status' WHERE username = '".$username."'");
$insertstatus->execute();
ただし、PeeHaa が正しく指摘しているように、パラメーターを使用して準備されたステートメントを使用すると、コードがわずかに変更され、より適切なオプションになります。次のように実行できます。
$sql="update csvdata set status=:status where username=:username";
$sth=$DBH->prepare($sql);
$sth->execute(array(':status' => $status, ':username' => $username));
このようにしてステートメントを準備しているので、データベースは何が起こるかを知っています。execute()
次に、配列内の関数を介して変数をデータベースに渡します。