私は以下のクエリを書いていますが、エラーはなく、レコードは更新されていません 誰でも修正できますか?このphp myqlクエリを適切な方法で入力する方法を教えてください
$db->query("INSERT INTO members (username, password, email)
VALUES ('$username', '$password', '$email')");
私は以下のクエリを書いていますが、エラーはなく、レコードは更新されていません 誰でも修正できますか?このphp myqlクエリを適切な方法で入力する方法を教えてください
$db->query("INSERT INTO members (username, password, email)
VALUES ('$username', '$password', '$email')");
あなたのクエリがよさそうだPDO(PHPのデータオブジェクト)
$db_conn = new PDO('mysql:host=localhost;dbname=account','root','password');
// insert the new member
$sql = 'INSERT INTO member (username, password, firstname, joinDate)
VALUES (:username, :password, :firstname, NOW())';
$stmt = $db_conn->prepare($sql);
// perform query
$stmt->execute(array(
':name' => 'okanlawonE12',
':password' => 'okanlawonEmmanuel',
':firstname' => 'emmanuel')
);
// echo last inserted row
echo "New Member has been added: " . $db_conn->lastInsertId();
を使用して、あなたの変数(ユーザ名、パスワード、電子メール)を確認多分彼らは空で、それらをチェックするecho "Username: " . $username . " ,Password: " . $password " ,Email : " . $email;
を使用してみてください。このコードは私のプロジェクトの一つです。あなたの変数と一致するように変数を修正しました。
$stmt = $db->prepare("INSERT INTO members (username, password, email)
VALUES (':username', ':password', ':email')");
$stmt->execute(array(
"username" => $username,
"password" => $password,
"email" => $email)
);
「準備文は、あなたの入力をサニタイズするために、あなたが使用できることを行うために使用されます。SQL内の任意の単一引用符なしfooが変数をバインドし、その後、実行()関数の中で、あなたは、配列を渡しますSQLステートメントで定義した変数のうちの1つです。 @ノボカイン(https://stackoverflow.com/users/871150/novocaine)。
しかし、INSERTされたものは何ですか? – Maxxi
空のテーブルが表示されない – user434342
誰でも手伝うためにスクリプト全体を表示する必要があります。あなたが知っていることも教えてください。あなたは確かにDBに接続されている、クエリに表示された変数は入力されていますか? – Maxxi