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 サイトの他の関連記事を参照してください。