我有两个表,分别名为shows
和show_connections
。我还要求用户通过POST输入电视节目名称,这些值为show1connection
和show2connection
。查询是一个单独定义的函数,该函数本质上接受您的输入并将其放入SQL中。
我有以下代码:
$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
设置为show 1的id,并且将show2_id
设置为show 2的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_
或PDO
并使用准备好的语句。