2017-06-04 7 views
0

2つのテーブルがあります。最初はid_user(プライマリキー)、username、name、passwordを持ち、id_post(プライマリキー)、post、username、view、id(id_userを参照する外部キー)を持っています。 私は、クエリを使用した後:INSERT(PHP)の後にFOREIGN KEYが列を完成しない

$query ="INSERT INTO posts (username,post,view) VALUES ('$username','$postare','$isprivate')"; 

それはNULLと私のカラムIDを完了します。カラムIDに、クエリを作成するユーザのid_userが必要です.Nullではありません。

答えて

1

データを取得するには値を調べる必要があります。

insert into posts (userid, post, view) 
    select u.userid, $postare, $isprivate 
    from users u 
    where u.username = '$username'; 

注:

  • postsテーブルにuseridusernameの両方を保存しないように、あなたの構文を使用すると、クエリは次のようになります。 usernameusersテーブルに格納し、必要なときにuseridを使用して名前を取得してください。
  • クエリ文字列に値を直接入れることで、クエリ文字列をマングッシュにしないでください。パラメータ化されたクエリの使用方法を学びます。
  • viewは、SQLキーワードであるため、実際には列の名前が正しくありません。
関連する問題