Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
插入后外键未完成列(PHP)_Php_Mysql - Fatal编程技术网

插入后外键未完成列(PHP)

插入后外键未完成列(PHP),php,mysql,Php,Mysql,我有两张桌子。第一个是id_user,它是主键、用户名、名称、密码,第二个是id_后主键、post、username、view和引用id_user的idforeign键。 使用查询后: $query ="INSERT INTO posts (username,post,view) VALUES ('$username','$postare','$isprivate')"; 它以NULL完成我的列id。我希望在id列中有进行查询的用户的id\u user。不为NULL。您需要查找该值以在数据中获

我有两张桌子。第一个是id_user,它是主键、用户名、名称、密码,第二个是id_后主键、post、username、view和引用id_user的idforeign键。 使用查询后:

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

它以NULL完成我的列id。我希望在id列中有进行查询的用户的id\u user。不为NULL。

您需要查找该值以在数据中获得该值。因此,使用您的构造,查询将如下所示:

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

不要在posts表中同时存储userid和username。仅将用户名存储在用户表中,并在需要时使用userid获取用户名。 不要通过直接在查询字符串中输入值来咀嚼它。学习使用参数化查询。 视图对于列来说是一个非常糟糕的名称,因为它是一个SQL关键字。