Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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 将来自两个不同来源的数据插入MySQL中的一个表中_Php_Mysql - Fatal编程技术网

Php 将来自两个不同来源的数据插入MySQL中的一个表中

Php 将来自两个不同来源的数据插入MySQL中的一个表中,php,mysql,Php,Mysql,我对MySQL和PHP非常陌生。我有两张桌子。第一个表是users,其中包含站点用户的信息,第二个表称为SendRequests 我想将每个用户发布的数据(就像一个广告发布站点)存储在第二个表中,我希望第一列是登录用户的电子邮件,以便我以后可以找到该用户发布的内容。这就是我试图做到的: 使用两个插入s,如下所示: $query1=" INSERT INTO SendRequests (email) SELECT email FROM users WHERE id = '".$_SESSION['

我对MySQL和PHP非常陌生。我有两张桌子。第一个表是
users
,其中包含站点用户的信息,第二个表称为
SendRequests

我想将每个用户发布的数据(就像一个广告发布站点)存储在第二个表中,我希望第一列是登录用户的电子邮件,以便我以后可以找到该用户发布的内容。这就是我试图做到的:

使用两个
插入
s,如下所示:

$query1=" INSERT INTO SendRequests (email) SELECT email FROM users
WHERE id = '".$_SESSION['id']."' LIMIT 1";

mysqli_query($link, $query1);

$_SESSION['id']= mysqli_insert_id($link);


$query = "INSERT INTO `SendRequests` (`country`, `city`, `fee`) VALUES
('".mysqli_real_escape_string($link,$_POST['departurecountry'])."',
'".mysqli_real_escape_string($link, $_POST['departurecity'])."',
'".mysqli_real_escape_string($link,$_POST['fee'])."')."')
WHERE id = '".$_SESSION['id']."'";

mysqli_query($link, $query);

第二个查询中有一个错误-末尾有一个备用
”)
~将其更改为:

$query = "INSERT INTO `SendRequests` (`country`, `city`, `fee`) VALUES
           ('".mysqli_real_escape_string($link,$_POST['departurecountry'])."',
            '".mysqli_real_escape_string($link, $_POST['departurecity'])."',
            '".mysqli_real_escape_string($link,$_POST['fee'])."')
           WHERE id = '".$_SESSION['id']."'";

您可以使用此查询在搜索电子邮件时插入数据:

INSERT INTO SendRequests(email, country, city, fee)
SELECT email, "FR", "Paris", 56.65
FROM SendRequests
WHERE id = 1;
如果已插入id为
1
的行,则此操作有效。您可以通过这种方式将两个插入合并为一个插入

因此,如果id为1的SendRequests等于
anon@host.com
,然后运行上面的查询,您将至少有2行:

ID EMAIL          COUNTRY  CITY    FEE
========================================
1  anon@host.com  US       Florida 150.25
2  anon@host.com  FR       Paris   56.65

非常感谢您抽出时间回答我的问题,我尝试了代码,但它还不起作用,可能是因为第二部分来自另一个表,所以我尝试了以下方法:在SendRequests(电子邮件、国家、城市、费用)中插入电子邮件,“FR”、“Paris”,56.65 from user WHERE id=”$\u会话['id']。“;它不起作用它现在起作用了,我忘了一个“”,非常感谢你的帮助,这意味着我很高兴能帮上忙,如果它解决了你的问题,别忘了把这个anwser标记为解决方案,让未来的观众也能看到解决方案。