ホームページ  >  記事  >  バックエンド開発  >  PHPでデータベースコンテンツフォームを変更する方法

PHPでデータベースコンテンツフォームを変更する方法

PHPz
PHPzオリジナル
2023-04-11 09:12:11790ブラウズ

インターネットが発展し続けるにつれて、Web サイトやアプリケーションはますます一般的になってきています。 PHP は、インタラクティブな Web アプリケーションの作成に使用できる、一般的に使用される Web 開発言語です。 PHP はデータ ストレージに関連しているため、PHP を使用してデータベースを操作する方法を知ることは Web 開発の重要な部分です。この記事では、PHP でデータベース コンテンツのフォームを変更する方法を紹介します。

まず、データベースに接続する方法を理解しましょう。 PHP では、組み込み関数 mysqli_connect() を使用して MySQL データベースに接続できます。以下は、簡単な接続サンプル コードです。

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);

// 检查连接是否成功
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";

上記のコードは、$conn という名前の MySQL 接続オブジェクトを作成します。接続に失敗した場合は、die() 関数を使用してエラー メッセージが出力されます。

次に、データベースの内容を変更するためのテーブルを準備する必要があります。このテーブルには、更新する必要がある項目、対応するデータベース フィールド、および初期値が含まれています。フォームを変更する基本的な例を次に示します。

<form action="update.php" method="post">

  <label for="id">ID:</label>
  <input type="text" id="id" name="id" value="">

  <label for="name">Name:</label>
  <input type="text" id="name" name="name" value="">

  <label for="email">Email:</label>
  <input type="text" id="email" name="email" value="">

  <input type="submit" value="Update">

</form>

フォームでは、次の点に注意する必要があります。

  • action 属性は、フォームを update.php ファイルにコピーして、更新操作を処理します。
  • method 属性は HTTP リクエストのタイプを設定します。ここでは POST メソッドを使用します。
  • 各フォーム要素には、id 属性と name 属性が含まれます。 id 属性は、フォーム要素のスタイルまたは関連する JavaScript 操作を変更するために使用でき、name 属性は、フォームの送信時に PHP と対話するために使用されます。
  • フォーム内のすべての要素にはデフォルト値があるため、ユーザーは簡単に変更できます。

データベースに接続するためのメソッドとフォームが用意できたので、次にデータベースの内容を更新する方法を示します。

update.php ファイルで更新操作を処理します。まず、フォームから値を取得し、それらを使用してデータベースを更新する必要があります。以下は、更新操作のサンプル コードです。

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);

// 检查连接是否成功
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

// 获取表单提交的值
$id = $_POST[&#39;id&#39;];
$name = $_POST[&#39;name&#39;];
$email = $_POST[&#39;email&#39;];

// 更新查询
$sql = "UPDATE MyGuests SET name=&#39;$name&#39;, email=&#39;$email&#39; WHERE id=$id";

if (mysqli_query($conn, $sql)) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . mysqli_error($conn);
}

mysqli_close($conn);
?>

上記のコードは、フォームに送信された値を取得し、それを使用して関連するデータベース レコードを更新します。この例では、更新するテーブルの名前は MyGuests で、対応する名前 (つまり $name) と電子メール (つまり $email) が更新されます。更新が成功すると「レコード更新に成功しました」と出力されます。更新操作が失敗すると、エラー メッセージが出力されます。 最後に、注意する必要があるのは、SQL インジェクション攻撃からコードを保護することです。これは、PHP の組み込み関数

mysqli_real_escape_string()

を使用して実現できます。この関数は、入力値に MySQL ステートメントに悪意のあるコンテンツが含まれていないことを保証します。以下は、入力値を保護するために mysqli_real_escape_string() 関数を使用する変更されたコード例です。 <pre class="brush:php;toolbar:false">$id = mysqli_real_escape_string($conn, $_POST['id']); $name = mysqli_real_escape_string($conn, $_POST['name']); $email = mysqli_real_escape_string($conn, $_POST['email']);</pre> 概要: この記事では、PHP を使用してデータベース コンテンツ フォームを変更する方法について説明します。このプロセスでは、まず

mysqli_connect()

関数を使用して MySQL データベースに接続する方法を学び、テーブルを変更する基本的な例と更新操作のサンプル コードを参照しました。最後に、mysqli_real_escape_string() 関数を使用して入力値を保護することで、SQL インジェクション攻撃からコードを保護します。

以上がPHPでデータベースコンテンツフォームを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。