【发布时间】:2020-03-13 04:26:09
【问题描述】:
我想做的是:
如果我的表单中输入的年龄 = 28、30、25 或 21,那么我想在列 (VE) 中自动插入值 8,否则将其保留为空。这是正确的做法吗?
if($form_data->action == 'Insert')
{
$age=array(28, 30, 25, 21);
$age_str=implode("','", $age);
if($form_data->age == $age_str){
$query="INSERT INTO tbl
(VE) VALUE ('8') WHERE id= '".$form_data->id."'
";
$statement = $connect->prepare($query);
$statement->execute();
}
$data = array(
':date' => $date,
':first_name' => $first_name,
':last_name' => $last_name,
':age' => $age
);
$query = "
INSERT INTO tbl
(date, first_name, last_name, age) VALUES
(:date, :first_name, :last_name, :age)
";
$statement = $connect->prepare($query);
if($statement->execute($data))
{
$message = 'Data Inserted';
}
}
另外,我如何插入 新行,其中行 ID 来自其他表单数据进入 tbl?
【问题讨论】:
-
顺便说一句...我认为这个
$data = array(需要使用来自$form_data的值,例如$date没有声明...你可能想要$form_data->date,同样的触发其他值。 -
不,我已经在其他地方声明了它们(这不是我的完整代码),除了我的要求之外,一切正常,谢谢你的回答,我希望它能与你的方法,我现在在火车上,所以我回家后试试你的代码,谢谢:)
-
$form_data->age == $age_str给定你刚刚设置的$age_str,为什么这会是真的?此外,您的第一个 SQL 查询是不安全的并且包含语法错误,一旦您运行它,PHP 应该会通知您。