PHP: フォームから MySQL への値の挿入
問題
データベース テーブルを作成し、HTML から値を挿入しようとしていますしかし、データベースは空のままです。コードは SQL クエリを文字列変数として宣言しますが、実行はせず、データベースには影響しません。
回答
フォームを使用して値を挿入するには、次の手順に従います。
-
ユーザー入力を決して信頼しない: フォームからの入力は操作される可能性があり、SQL インジェクションの脆弱性を引き起こす可能性があります。
-
プリペアド ステートメントを使用する: プレースホルダーを指定できます。 SQL ステートメント内の値を取得し、動的に変数にバインドして、悪意のある入力を防ぎます。
- PHP コードの変更:
プリペアド ステートメント注
- プレースホルダー (?) は変数のバインドに使用されます。
- 変数の型をバインドするには、bind_param を使用します (例: 3 つの文字列の場合は sss)。
- 実行は最後に挿入します。
パスワード セキュリティ
パスワードはクリア テキストで保存しないでください。代わりに、password_hash を使用してパスワードの安全なハッシュを保存します。
以上がPHP でプリペアドステートメントを使用してフォームデータを MySQL に挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。