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