gpt4 book ai didi

php - 使用多个 select 语句和 php 变量插入

转载 作者:行者123 更新时间:2023-11-30 00:44:04 24 4
gpt4 key购买 nike

我想从两个表(即 adminlogin 和 Product_category)在产品表中插入记录,并使用很少的 php 变量。我的查询无法正常工作,出现语法错误。请帮助

$sSQL4 = 
"INSERT INTO product(user_id,category_id,product_id,title,price,product_img,product_status) Select admin_id from adminlogin where username='" .$user_name. "',
SELECT category_id,'',
'" .$title. "',
'" .$price. "',
'" .$file_name1. "',
'pending' from product_category WHERE category_name='" .$category. "'";
$result4= mysql_query($sSQL4);

最佳答案

您收到语法错误的原因是您没有使用有效的 SQL。 INSERT INTO ... SELECT 语法仅适用于 SINGLE select 查询。

目前,您基本上链接了 2 个完全随机的查询,而 mysql 没有丝毫线索如何链接它们(即使可能)。

您想要的是执行 2 个查询:1. 获取用户名的查询2.要插入的查询...选择,同时自己将用户名添加为静态字符串。

或者,您可以使用子查询来添加用户名。但是,由于插入的每一行都会重复子查询,因此这实际上要慢得多(!)。

使用子查询,您的查询将如下所示:

$sSQL4 = "INSERT INTO product(user_id,category_id,product_id,title,price,product_img,product_status) SELECT (SELECT admin_id from adminlogin WHERE username='" .$user_name. "'), category_id,'','" .$title. "','" .$price. "','" .$file_name1. "','pending' FROM product_category WHERE category_name='" .$category. "'";

$result4 = mysql_query($sSQL4);

通过 2 个查询,您会得到如下结果:

$q = mysql_query("SELECT admin_id FROM adminlogin WHERE username='" . $user_name . "'");
$adminId = mysql_fetch_object($q)->admin_id;

$sSQL4 = "INSERT INTO product(user_id,category_id,product_id,title,price,product_img,product_status) SELECT '".$adminId."', category_id,'','" .$title. "','" .$price. "','" .$file_name1. "','pending' FROM product_category WHERE category_name='" .$category. "'";

关于php - 使用多个 select 语句和 php 变量插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21535100/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com