2016-07-29 7 views
-4

私は以下のクエリを書いていますが、エラーはなく、レコードは更新されていません 誰でも修正できますか?このphp myqlクエリを適切な方法で入力する方法を教えてください

$db->query("INSERT INTO members (username, password, email) 
        VALUES ('$username', '$password', '$email')"); 
+0

しかし、INSERTされたものは何ですか? – Maxxi

+0

空のテーブルが表示されない – user434342

+0

誰でも手伝うためにスクリプト全体を表示する必要があります。あなたが知っていることも教えてください。あなたは確かにDBに接続されている、クエリに表示された変数は入力されていますか? – Maxxi

答えて

0

あなたのクエリがよさそうだ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(); 
0

を使用して、あなたの変数(ユーザ名、パスワード、電子メール)を確認多分彼らは空で、それらをチェックする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)。

関連する問題