【发布时间】:2018-12-05 21:08:12
【问题描述】:
我需要使用 PHP 从 HTML 表单将值插入到我的数据库中的表中。查询后
INSERT INTO tableX
(attractionID, customerID, number_of_people, date_of_attraction)
values ('X', 'Y', '2', '2020-12-01')
记录创建良好。已输入字符串以证明查询有效,实际查询使用变量以及从 html 表单用户输入存储的数据。
我使用了一个查询来存储客户表中 customerID (auto_increment'ed) 的值。我还使用 $_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 INTO插入新行。UPDATE WHERE更新现有行。INSERT INTO.. ON DUPLICATE KEY插入新行或更新与主键匹配的现有行。 -
查看您的表格结构会很有帮助。如果您的“景点”表中有一个“用户名”列,那么您只需将用户名作为值插入,就像您对其他列所做的那样。如果你有一个单独的表,比如说“attractionUsers”,其中包含一个吸引 ID 和一个用户 ID,那么你需要插入一个关系......
-
我不太明白你想做什么。 “插入……在哪里”会做什么?做你想做的可能是可行的,试着用英语解释一下
标签: php mysql session mysqli sql-insert