2016-12-07 14 views
0

このトピックに関する多くの質問があります。私はそれらのほとんどすべてを読んでいますが、MySQLの構文エラーは引き続き発生します。私はWAMPサーバatmを使用しています。 MySQLのバージョンが5.7.9になっていることを確認しました。これは問題ありません。LAST_INSERT_ID()を使用してあるテーブルから別のテーブルに最新のIDを挿入する

私はこのクエリを持っている:

INSERT INTO users (profile_pic, first_name, last_name, 
address, zip, city, phone, age, job, education, registration_date, email, pass) 
VALUES ('$final_profile_pic_file', '$first_name', '$last_name', '$address', '$zip', '$city', 
'$phone', '$age', '$job', '$education', NOW(), '$email', SHA1('$pass')); 

INSERT INTO tickets (user_id, ticket_date) 
VALUES (LAST_INSERT_ID(), NOW()); 

最初INSERTユーザーが正常に動作します。私は次に、ユーザテーブルのちょうど作成されたユーザIDをLAST_INSERT_ID()とすぐにチケットテーブルに入れたいと思います。私は変数としてそれを入れて、その変数を値として使用しようとしました。

私は間違っていますか?

+0

mysqliを使用している場合は、最後のidを取得する関数を使用してください。テーブルの設定は正しいですか? 'autoinc./primray key' – JOUM

+0

私はusersテーブルに' AI'と 'primary key'という列' user_id'を持っています。 @ JOUMを使用したい機能の例を挙げることができますか?私は 'mysqli'を使用しています –

+0

' $ mysqli-> insert_id' http://php.net/manual/en/mysqli.insert-id.php – JOUM

答えて

0

@mysqli_queryの代わりに@mysqli_multi_queryを使用する必要がありました。それが問題を解決しました。

+0

マルチクエリを使用して、あなたがそれをやっている方法で文字列連結でクエリを構築するあなたがSQLインジェクション攻撃に脆弱になることを絶対保証します。いずれかが悪いです、一緒に彼らは致命的です。つかいます。準備された。ステートメント。 –

関連する問題