gpt4 book ai didi

php - 使用 INSERT 和 WHERE 进行 MySQLi 查询,可能吗?

转载 作者:行者123 更新时间:2023-11-30 21:36:38 24 4
gpt4 key购买 nike

我需要使用 PHP 从 HTML 表单中将值插入到数据库中的表中。查询之后

INSERT INTO tableX 
(attractionID, customerID, number_of_people, date_of_attraction)
values ('X', 'Y', '2', '2020-12-01')

记录创建良好。已输入字符串以证明查询有效,实际查询使用变量和存储在其位置的 html 表单用户输入的数据。

我使用了一个查询来存储客户表中的 customerID(自动递增)的值。我还使用 $_SESSION['UserName'] 从客户表中存储用户的用户名。所有从 html 表单用户输入创建的变量都被正确存储,因为它们都可以被回显并按应有的方式回显。

尝试使用以下查询时出现问题“

INSERT INTO tableX 
(attractionID, customerID, number_of_people, date_of_attraction)
values ('X', 'Y', '2', '2020-12-01') WHERE UserName = '$UserName'

$UserName 已从 $UserName = $_SESSION['UserName'] 创建。

如果正在创建的记录依赖于另一个表中的列,是否不能在查询中使用 WHERE?

抱歉,如果这没有意义,我已尽力解释,但我是 MySQL 和 PHP 的新手。

最佳答案

WHERE 子句的目的是从表中过滤现有行。但是,INSERT 在不引用任何现有行的情况下工作,因此 WHERE 没有意义。如您所知,它会导致 SQL 错误。

如果您希望根据其他表中的行INSERT 行,您可以使用如下所示的INSERT 变体来实现:

 INSERT INTO tableX  
(attractionID, customerID, number_of_people, date_of_attraction, ownerId)
SELECT 'X', 'Y', '2', '2020-12-01', userId
FROM users WHERE UserName = '$UserName';

此查询根据您示例中的一些常量和另一个表中的列为 tableX 生成一行。

关于php - 使用 INSERT 和 WHERE 进行 MySQLi 查询,可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53640758/

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