ホームページ  >  記事  >  データベース  >  フォームの値が MySQL データベースに挿入されないのはなぜですか?

フォームの値が MySQL データベースに挿入されないのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-13 09:34:02628ブラウズ

Why Are My Form Values Not Inserting into My MySQL Database?

PHP: MySQL へのフォーム値の挿入

問題:

HTML フォームから MySQL データベースへの値の挿入は、正常に実行されず、データベースが残るempty.

解決策:

提供された PHP コードには、文字列変数として保存された SQL クエリが含まれています:

$sql = "INSERT INTO users (username, password, email)
        VALUES ('".$_POST["username"]."','".$_POST["password"]."','".$_POST["email"]."')";

ただし、このクエリは実行されませんでした。クエリを実行するには、プリペアド ステートメントなどの MySQL 関数を使用して、データのセキュリティと整合性を確保する必要があります。

ベスト プラクティス: プリペアド ステートメントの使用

プリペアド ステートメントクエリをユーザー入力から分離することで、SQL インジェクションから保護します。使用方法は次のとおりです:

  1. SQL ステートメントを準備します:

    $sql = "INSERT INTO users (username, password, email) VALUES (?,?,?)";
  2. 入力をバインドします変数:

    $stmt = $mysqli->prepare($sql);
    $stmt->bind_param("sss", $_POST['username'], $_POST['email'], $_POST['password']);
  3. 準備されたステートメントを実行します:

    $stmt->execute();

追加セキュリティ対策:

へセキュリティを強化し、password_hash を使用してプレーン テキストではなく暗号化されたハッシュ形式でパスワードを保存します。

以上がフォームの値が MySQL データベースに挿入されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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