フォームからPHPでデータベースを変更する方法
フォームからデータベースを修正する必要があります。この場合、次の手順で行います。
- フォームの作成には、修正するデータベースのレコードのフィールドと、input要素を使用してユーザーの入力を取得するための HTML ページが含まれます。
- PHP のファイルでは、$_POST スーパーグローバル変数を使用して、フォーム内の値を取得します。例えば、フォーム内に「name」という名前のフィールドがある場合、$_POST[‘name’] を使用してその値を取得できます。
- データベースに接続。PHPのネイティブのmysqli拡張またはPDO拡張を使用して、データベースに接続できます。
- データベース内のレコードを更新するためのSQLクエリを作成します。たとえば、UPDATE ステートメントを使用してデータベース内のレコードを変更できます。フォームの値をクエリのパラメータとして使用します。たとえば、「name」フィールドをフォーム内の値に更新する場合、次のようなコードを使用できます。
$query = "UPDATE your_table SET name = '" . $_POST['name'] . "' WHERE id = " . $_POST['id'];
SQLインジェクションのリスクがあるコードなので注意してください。SQLインジェクションを防ぐにはパラメータ化クエリを使用するか、フォーム入力のエスケープを実行する必要があります。
- SQL クエリを実行します。
- mysqli_affected_rows() 関数で影響を受けた行数をチェックして、クエリが成功したかどうかを確認できます。
上記の手順を説明するサンプルプログラムを以下に示します。
// 从表单中获取值
$name = $_POST['name'];
$id = $_POST['id'];
// 连接到数据库
$connection = mysqli_connect('hostname', 'username', 'password', 'database');
// 构建更新查询语句
$query = "UPDATE your_table SET name = '" . $name . "' WHERE id = " . $id;
// 执行查询
$result = mysqli_query($connection, $query);
// 检查查询是否成功
if ($result) {
$affectedRows = mysqli_affected_rows($connection);
if ($affectedRows > 0) {
echo "记录已成功更新。";
} else {
echo "没有记录被更新。";
}
} else {
echo "更新记录时出现错误。";
}
// 关闭数据库连接
mysqli_close($connection);
上記のコードは例であり、あなたの実際のニーズに合うように変更する必要があることに注意してください。