Php 将数组中的数据写入数据库
我尝试将保存在数组中的表单中的数据写入数据库。不幸的是,它不起作用:Php 将数组中的数据写入数据库,php,sql,arrays,forms,Php,Sql,Arrays,Forms,我尝试将保存在数组中的表单中的数据写入数据库。不幸的是,它不起作用: $hardCodedTitles = array( array("Lead inserted by", $_POST["input_lead_insert"]), array("Staffname", $_POST["input_Staffname"]), array("Staff email
$hardCodedTitles = array(
array("Lead inserted by", $_POST["input_lead_insert"]),
array("Staffname", $_POST["input_Staffname"]),
array("Staff email", $_POST["input_Staffemail"]),
array("Workplace", $_POST["input_Workplace"]),
array("Gender", $_POST["input_gender"]),
array("First Name", $_POST["input_Firstname"]),
array("Last Name", $_POST["input_Lastname"]),
array("Company", $_POST["input_Company"]),
array("Job Position", $_POST["input_Jobposition"]),
array("Industry", $_POST["input_Industry"]),
array("Mailstop", $_POST["input_Mailstop"]),
array("Street", $_POST["input_Street"]),
array("Zip Code", $_POST["input_ZIP-Code"]),
array("City", $_POST["input_City"]),
array("Country", $_POST["input_Country"]),
array("Email", $_POST["input_E-Mail"]),
array("Phone Number", $_POST["input_PhoneNumber"]),
);
foreach($hardCodedTitles as $title) {
if(isset($_POST[$title[1]]) && $_POST[$title[1]] != "") {
mysql_query("INSERT INTO lead_data (lead_id, title, value) VALUES ($createdID, '".$title[0]."', '".$title[1]."')");
}
}
有人看到错误了吗?
当我使用print_r()时,数据似乎正确地存储在数组中。似乎您正在处理$\u POST[$\u POST['something']]。尝试在第一个数组中的键周围避开$\u POST[似乎您正在处理$\u POST[$\u POST['something']]。尝试在第一个数组中的键周围避开$\u POST[您不需要检查$\u POST[$title[1])是否已设置或未设置为空,因为它未设置且为空 只需使用$title[1],如下所示: (编辑:以下代码用于学习/调试:))
$\u POST[“输入领导插入”]=1;
$\u POST[“输入\工作人员姓名”]=2;
$_POST[“输入邮件”]=3;
$_POST[“输入工作场所”]=4;
$_POST[“输入性别”]=5;
$\u POST[“输入名”]=6;
$\u POST[“input\u Lastname”]=7;
$_POST[“输入公司”]=8;
$\职位[“输入\职位”]=9;
$_POST[“投入产业”]=10;
$\u POST[“输入邮件停止”]=11;
$_POST[“input_Street”]=12;
$_POST[“输入邮政编码”]=13;
$_POST[“输入城市”]=14;
$_POST[“input_Country”]=15;
$_POST[“输入电子邮件”]=16;
$\u POST[“输入电话号码”]=17;
$hardCodedTitles=数组(
数组(“导程插入人”、$\u POST[“输入导程插入”]),
数组(“Staffname”,$\u POST[“input\u Staffname”]),
数组(“员工电子邮件”、$\u POST[“输入员工邮件”]),
数组(“Workplace”、$\u POST[“input\u Workplace”]),
数组(“性别”,$\u POST[“输入性别]),
数组(“First Name”、$\u POST[“input\u Firstname”]),
数组(“姓氏”,$\u POST[“输入\姓氏]),
数组(“公司”,$邮政[“输入公司]),
数组(“作业位置”、$\u POST[“输入作业位置”]),
数组(“Industry”、$\u POST[“input\u Industry”]),
数组(“Mailstop”、$\u POST[“input\u Mailstop”]),
数组(“Street”、$\u POST[“input\u Street”]),
数组(“邮政编码“,$”邮政[“输入邮政编码]),
数组(“城市”,$邮政[“输入城市]),
数组(“国家”,“美元后[“输入国家]),
数组(“Email”、$\u POST[“input\u E-Mail”]),
数组(“电话号码”,$\u POST[“输入电话号码]),
);
foreach($hardcodedttitles作为$title){
如果(isset($title[1])&&$title[1]!=“”){
//将仅显示用于调试的数字
echo$title[1]。“
”;
}
}
您不需要检查$\u POST[$title[1])是否设置为空,因为它未设置且为空
只需使用$title[1],如下所示:
(编辑:以下代码用于学习/调试:))
$\u POST[“输入领导插入”]=1;
$\u POST[“输入\工作人员姓名”]=2;
$_POST[“输入邮件”]=3;
$_POST[“输入工作场所”]=4;
$_POST[“输入性别”]=5;
$\u POST[“输入名”]=6;
$\u POST[“input\u Lastname”]=7;
$_POST[“输入公司”]=8;
$\职位[“输入\职位”]=9;
$_POST[“投入产业”]=10;
$\u POST[“输入邮件停止”]=11;
$_POST[“input_Street”]=12;
$_POST[“输入邮政编码”]=13;
$_POST[“输入城市”]=14;
$_POST[“input_Country”]=15;
$_POST[“输入电子邮件”]=16;
$\u POST[“输入电话号码”]=17;
$hardCodedTitles=数组(
数组(“导程插入人”、$\u POST[“输入导程插入”]),
数组(“Staffname”,$\u POST[“input\u Staffname”]),
数组(“员工电子邮件”、$\u POST[“输入员工邮件”]),
数组(“Workplace”、$\u POST[“input\u Workplace”]),
数组(“性别”,$\u POST[“输入性别]),
数组(“First Name”、$\u POST[“input\u Firstname”]),
数组(“姓氏”,$\u POST[“输入\姓氏]),
数组(“公司”,$邮政[“输入公司]),
数组(“作业位置”、$\u POST[“输入作业位置”]),
数组(“Industry”、$\u POST[“input\u Industry”]),
数组(“Mailstop”、$\u POST[“input\u Mailstop”]),
数组(“Street”、$\u POST[“input\u Street”]),
数组(“邮政编码“,$”邮政[“输入邮政编码]),
数组(“城市”,$邮政[“输入城市]),
数组(“国家”,“美元后[“输入国家]),
数组(“Email”、$\u POST[“input\u E-Mail”]),
数组(“电话号码”,$\u POST[“输入电话号码]),
);
foreach($hardcodedttitles作为$title){
如果(isset($title[1])&&$title[1]!=“”){
//将仅显示用于调试的数字
echo$title[1]。“
”;
}
}
尝试在每个循环中使用print\r检查数组$title,看看是否获得了所需的正确数组
也许你可以试试
foreach($hardCodedTitles AS $title) {
foreach($title AS $key=>$value ) {
echo $key ." ". $value ."<br>";
}
}
foreach($hardcodedttitles作为$title){
foreach($key=>$value的标题){
回显$key.“$value.”
“;
}
}
尝试在每个循环中使用print\r检查数组$title,看看是否获得了所需的正确数组
也许你可以试试
foreach($hardCodedTitles AS $title) {
foreach($title AS $key=>$value ) {
echo $key ." ". $value ."<br>";
}
}
foreach($hardcodedttitles作为$title){
foreach($key=>$value的标题){
回显$key.“$value.”
“;
}
}
这将起作用:
foreach($hardCodedTitles as $title) {
if(isset($title[1]) && $title[1] != "") {
mysql_query("INSERT INTO lead_data (lead_id, title, value) VALUES ($createdID, '".$title[0]."', '".$title[1]."')");
}
}
不要忘记清理用户输入,以免留下被黑客攻击或损坏的数据库!这将起作用:
foreach($hardCodedTitles as $title) {
if(isset($title[1]) && $title[1] != "") {
mysql_query("INSERT INTO lead_data (lead_id, title, value) VALUES ($createdID, '".$title[0]."', '".$title[1]."')");
}
}
不要忘记清理用户输入,以免留下被黑客攻击或损坏的数据库!“有人看到错误吗?”-和/或mysql\u error()是什么say?你是在一开始就假设成功,而没有考虑可能出现的错误。错误是你正在使用以前使用过的PHP函数发布到数据库中。哪里定义了
$createdID
?什么是“不工作”意思?“不工作”是一个不足以让我们理解问题的描述。当你尝试它时发生了什么?你收到了错误消息吗?你得到了不正确的结果吗?你没有得到结果吗?如果结果不正确,是什么使它们不正确?你期望得到什么?你得到了任何正确的结果吗?如果是,它们是什么?不要让你失望让我们猜猜。$title[1]
是从userland发布的值,但您正在寻找$\u POST[$title[1]]
?我甚至无法理解这是在做什么……“有人看到错误吗?”-和/或mysql\u error()是什么意思
say?你假设一下子就成功了,而没有考虑可能出现的错误。错误是