2016-05-05 5 views
0

テーブルに4つの値を挿入しようとしています。 POSTから3つの値を取得しています。もう1つは別のテーブルから取得したい値です。これは私がそれを実装することを考えた方法ですが、動作していないようです。助言がありますか?SQL INSERT INTOテーブル(a、b、c)VALUE(:a、:b、:c、SELECT ...)

$query = "INSERT INTO topics (subject, data, uid, role) VALUES (:user, :pass, :uid, SELECT role FROM users WHERE uid=:uid) "; 
+0

INSERT INTO topics (subject, data, uid, role) VALUES (:user, :pass, :uid, (SELECT role FROM users WHERE uid = :uid)); 

個人的に、私はずっとSELECTINSERT . . . SELECTバージョンを好みます)SELECT:user、:pass :,:uid、roleユーザーからWHERE uid =:uid) "; ' –

答えて

1

SQLでは、すべてのサブクエリは独自のかっこで囲む必要があります。だから、あなたが使用してクエリを修正することができます: `$クエリは=「トピック(主題、データ、UID、役割のINSERT INTO

INSERT INTO topics (subject, data, uid, role) 
    SELECT :user, :pass, :uid, u.role 
    FROM users u 
    WHERE uid = :uid; 
+0

ああ、私の終わりに間違っている。ありがとうございました! 私は今から2番目のバージョンを使用します。 –

関連する問題