ホームページ >データベース >mysql チュートリアル >PHPでmysqlデータベースからデータを削除する方法
#削除する前にデータベースをバックアップする
削除する前に、データベースをバックアップすることをお勧めします。データベース。 PostgreSQL および MySQL データベースを操作するための一般的な戦略。次のように書き換えることができます: 一般的な PostgreSQL および MySQL データベース処理戦略。バックアップは、誤ってデータを削除した場合にデータを復元するのに役立ちます。 phpMyAdmin またはコマンド ライン ツールを使用してバックアップを完了できます。コマンドラインで mysqldump コマンドを使用して、データベースをバックアップします。
#DELETE ステートメントを使用します。
<?php //连接到数据库 $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; //创建连接对象 $conn = new mysqli($servername, $username, $password, $dbname); //检查连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } //编写删除数据的SQL语句 $sql = "DELETE FROM myTable WHERE id=1"; //执行SQL语句 if ($conn->query($sql) === TRUE) { echo "数据删除成功"; } else { echo "删除失败: " . $conn->error; } //关闭连接 $conn->close(); ?>上記のコードでは、DELETE ステートメントを使用して、
myTable テーブルから ID 1 の行を削除します。行が正常に削除された場合、プログラムは「データ削除成功」を出力し、行が削除されなかった場合、プログラムは「削除失敗」を出力し、MySQL からエラー メッセージが返されます。
SQL インジェクション攻撃の防止
<?php //连接到数据库 $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; //创建连接对象 $conn = new mysqli($servername, $username, $password, $dbname); //检查连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } //获取用户输入的数据 $id = $_POST['id']; //使用mysql_real_escape_string()函数转义用户输入的数据 $id = mysql_real_escape_string($id); //编写删除数据的SQL语句 $sql = "DELETE FROM myTable WHERE id='$id'"; //执行SQL语句 if ($conn->query($sql) === TRUE) { echo "数据删除成功"; } else { echo "删除失败: " . $conn->error; } //关闭连接 $conn->close(); ?>上記のコードでは、mysql_real_escape_string() 関数を使用してユーザー入力データをエスケープし、SQL インジェクション攻撃を防ぎます。
<?php //连接到数据库 $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; //创建连接对象 $conn = new mysqli($servername, $username, $password, $dbname); //检查连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } //开启事务 $conn->begin_transaction(); //编写删除数据的SQL语句 $sql1 = "DELETE FROM myTable WHERE id=1;"; $sql2 = "DELETE FROM myTable1 WHERE id=2;"; //删除数据 if ($conn->query($sql1) === TRUE && $conn->query($sql2) === TRUE) { //提交事务 $conn->commit(); echo "所有数据删除成功"; } else { echo "删除失败: " . $conn->error; //回滚事务,撤销删除操作 $conn->rollback(); } //关闭连接 $conn->close(); ?>
上記のコードでは、begin_transaction() 関数を使用してトランザクションを開始し、最後に commit() 関数を使用して結果を送信します。エラーが発生した場合は、rollback() 関数を使用して、以前の削除操作を元に戻すことができます。
以上がPHPでmysqlデータベースからデータを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。