PHP: フォームから MySQL への値の挿入
フォームから MySQL データベースへの値の挿入は、Web 開発の一般的なタスクです。 PHP では、mysqli 拡張機能を使用してデータベースに接続し、クエリを実行できます。
ただし、値がデータベースに挿入されないという問題に直面している場合は、次の点を考慮することが重要です。
宣言されているが実行されていないクエリ:
$sql = "INSERT INTO users (username, password, email) VALUES ('".$_POST["username"]."','".$_POST["password"]."','".$_POST["email"]."')";
このコードMySQL クエリを含む文字列変数のみを宣言します。クエリを実行するには、mysqli_query などの関数を使用するか、mysqli_prepare、mysqli_bind_param、mysqli_execute を使用してステートメントを準備する必要があります。
SQL インジェクションの脆弱性:
ユーザー入力を追加しないクエリに直接アクセスできます。ユーザーが入力を操作してデータベースに損害を与える SQL インジェクション攻撃につながる可能性があります。代わりに、準備されたステートメントを使用して、この脆弱性から保護してください。
準備されたステートメントの例:
$sql = "INSERT INTO users (username, password, email) VALUES (?,?,?)"; $stmt = $mysqli->prepare($sql); $stmt->bind_param("sss", $_POST['username'], $_POST['email'], $_POST['password']); $stmt->execute();
セキュリティに関する考慮事項:
ユーザー入力は常に注意して扱う必要があり、脆弱性を防ぐために準備されたステートメントなどのセキュリティ対策を実装する必要があることに注意してください。
以上が私のフォーム値が MySQL データベースに挿入されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。