从一个MySQL表的两行中获取ID,并使用PHP在另一个MySQL表的一行中输入这些值
我有两个表,名为shows和show\u connections。我还要求用户通过POST输入电视节目名称,这些值是show1连接和show2连接。查询是一个单独定义的函数,它本质上接受您的输入并将其放入SQL中 我有以下代码:从一个MySQL表的两行中获取ID,并使用PHP在另一个MySQL表的一行中输入这些值,php,mysql,Php,Mysql,我有两个表,名为shows和show\u connections。我还要求用户通过POST输入电视节目名称,这些值是show1连接和show2连接。查询是一个单独定义的函数,它本质上接受您的输入并将其放入SQL中 我有以下代码: $show1_name = $_POST["show1connection"]; $show2_name = $_POST["show2connection"]; $fail = query ("INSERT INTO show_connections (show
$show1_name = $_POST["show1connection"];
$show2_name = $_POST["show2connection"];
$fail = query ("INSERT INTO show_connections (show1_id) SELECT id FROM shows
WHERE name = '$show1name'");
$fail2 = query ("INSERT INTO show_connections (show2_id) SELECT id FROM shows
WHERE name = '$show2name'");
我的主要问题是,我想将show1_id和show2_id设置为一行中的正确id。现在,这个语法是我最接近于解决这个问题的语法,它确实将show1_id设置为show1的id,并将show2_id设置为show2的id,但它们最终位于两个单独的行上。如何确保它们出现在同一行中?试试看-
INSERT INTO show_connections (show1_id, show2_id)
SELECT s1.id, s2.id
FROM shows s1, shows s2
WHERE s1.name = '$show1name'
AND s2.name = '$show2name'"
旁注-确保正确清理用户数据-$show1name/$show2name。更好的做法是将您的代码更新到mysqli_u或PDO,并使用预先准备好的语句。SQL注入攻击已经成为一种事情,已经有二十多年了。为什么你还没有学习参数化查询?可能是Hi Ignacio的复制品,我还是一个编码初学者,但我会在未来尽我最大的努力。非常感谢你的帮助Sean!成功了!我是为一个项目做这件事的,所以这一切都将在我们课堂上使用的设备上进行。我想这就是为什么我们没有清理用户数据?不确定。再次感谢!