2017-11-11 4 views
-3

アカウント作成ページを作成しようとしていますが、単純なエラーが発生していますが、PHPがとても新しいので、間違っている。私はそれがデータベースにデータをインポートした後に、それは、コマンドにPHPコマンドが実行される前に、

echo "Success!";

をしたいです。ここでは、コードは次のようになります。

if (isset($_POST['createaccount'])) { 
     $username = $_POST['username']; 
     $password = $_POST['password']; 
     $email = $_POST['email'];  

     DB::query('INSERT INTO users VALUES (\'\', :username, :password, :email)', array('username'=>$username, 'password'=>$password, 'email'=>$email)); 
     echo "Success!"; 

私はデータベースのインポートのコードは、おそらく間違っている知っているが、それは今、私は気にせてるものではありません、ありがとうございました。私はPHP 5を使用しています。

+1

DB :: queryは標準のPHPクラス/メソッドではありません。それは何をするためのものか? – ceejayoz

+0

@ceejayoz MySQLクエリが正しく実行されますか? – Josh

+1

PHPのデフォルト部分ではないので、私は何をしているのか分かりません。それは文字通り何でもすることができます - あなたは 'DB'クラスを書いているか、他の誰かの' DB'クラスを含んでいます。それはドキュメントを持っていますか?使用しているDBクラスのコードを共有できますか? – ceejayoz

答えて

0

まあ、クエリメソッドが呼び出された後にエコーが呼び出されています。 あなたの問題は、それがエコーする前に挿入が成功したかどうかを検証していないということです。 その場合、変数に結果を格納して分析し、すべてがうまくいけば "成功!"と表示されます。 編集:この方法はあなたのものですか?結果が返された場合は、次のように設定することができます。

$result = DB::query('INSERT INTO users VALUES (\'\', :username, :password, :email)', array('username'=>$username, 'password'=>$password, 'email'=>$email)); 

次に、どのように処理するかを確認できます。

関連する問題