データベースにデータを挿入できません。これは私のSQLインジェクションを初めて扱うときです。SQLインジェクションの挿入を防止する
$stmt = $dbConnection->prepare('INSERT INTO users(name) VALUES('name = ?')');
$stmt->bind_param('s', $name);
$stmt->execute();
しかし、これは機能しません。どんな助けでも謝罪されるでしょう!
データベースにデータを挿入できません。これは私のSQLインジェクションを初めて扱うときです。SQLインジェクションの挿入を防止する
$stmt = $dbConnection->prepare('INSERT INTO users(name) VALUES('name = ?')');
$stmt->bind_param('s', $name);
$stmt->execute();
しかし、これは機能しません。どんな助けでも謝罪されるでしょう!
コードに構文エラーがあります。これを試してみてください:
$stmt = $dbConnection->prepare('INSERT INTO users (name) VALUES (:s)');
$stmt->bindParam(':s', $name);
$stmt->execute();
を使用すると、挿入し、複数の値を定義したい場合は、このようにそれを実行します。
$stmt = $dbConnection->prepare('INSERT INTO users (name, email) VALUES (:s, :email)');
$stmt->bindParam(':s', $name);
$stmt->bindParam(':email', $email);
$stmt->execute();
あなたがmysqli
を使用している場合は、あなたのコードは次のようになります。
$stmt = $dbConnection->prepare('INSERT INTO users (name) VALUES (?)');
$stmt->bind_param('s', $name);
$stmt->execute();
SQLにname =
は必要ありません。列名はテーブル名の後にリスト(name)
で指定されています。通常は値を入力する場所に?
を入れてください。
$stmt = $dbConnection->prepare('INSERT INTO users(name) VALUES(?)');
$stmt->bind_param('s', $name);
$stmt->execute();
これは機能します。しかし、私がもっと追加したいなら、私はするべきですか(:s、:s、:s)? –
@ J.Doeいいえ、私の投稿に例を追加します:) –
ああ、それはそうです!どうもありがとうございました! –