phpの表示画面で削除ボタンを押して、mysqlのデータを一行削除したい

このページに飛ぶ前に削除ボタンがあり削除依頼をすると
echo "削除失敗です"←こちらがてできて失敗してしました。
参考記事が古かったのか、自分の書き方が悪いのか…
初期的な質問なのですが、削除がうまく機能しないのでしょうか。
また削除方法を教えてください。

if(empty($_POST)) { echo "<a href='thanks.php'>thanks.php</a>←こちらのページからどうぞ"; exit(); }else{ if (!isset($_POST['id']) ){ echo "IDエラー"; exit(); }else{ //プリペアドステートメント $stmt = $mysqli->prepare('DELETE FROM mydb WHERE id = ?'); if($stmt){ //プレースホルダへ実際の値を設定する $stmt->bind_param('i', $id); $id = $_POST['id']; $stmt->execute(); //変更された行の数が1かどうか if($stmt->affected_rows == 1){ echo "削除いたしました。"; }else{ echo "削除失敗です"; } //ステートメント切断 $stmt->close(); }else{ echo $mysqli->errno . $mysqli->error; } } } // データベース切断 $mysqli->close(); ?>

下記が飛ぶ前のファイルの削除ボタンのコードになります

<form action="fix.php" method="post"> <input type="submit" name="delete" value="削除する"> <input type="hidden" name="id" value="<?=$row['id']?>"> </form>

コメントを投稿

0 コメント