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

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

Barbara Streisand
Barbara Streisandオリジナル
2024-11-11 20:59:03677ブラウズ

Why is My PHP Form Data Not Inserting into MySQL?

PHP: 準備済みステートメントを使用せずにフォームから MySQL に値を挿入する

MySQL で users テーブルを作成し、dbConfig ファイルと Index.php ファイルを定義しているにもかかわらず、保存ボタンを押したときにデータがデータベースに挿入されないという問題が発生しました。

提供されたコードは $_POST を使用してフォームから値を取得しますが、次の行で INSERT クエリ文字列を宣言するだけです:

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

このコードは実際にクエリを実行しません。 MySQL クエリを実行するには、mysqli_query 関数を使用できます。

mysqli_query($mysqli, $sql);

ただし、このアプローチは SQL インジェクション攻撃に対して脆弱です。悪意のあるデータ操作を防ぐために、ユーザー入力を処理するときはプリペアド ステートメントを使用することが不可欠です。

プリペアド ステートメントを使用する例を次に示します:

$sql = "INSERT INTO users (username, password, email)
    VALUES (?,?,?)";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("sss", $_POST['username'], $_POST['password'], $_POST['email']);
$stmt->execute();

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

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