HTML post 数组 大,使用Implode将HTML表单$ _POST数组插入到MySQL

我有以下html提交表单。这个表单是一个PHP_SELF,并将输入数据作为一个数组存储在$ _POST中。

Direct Bill Information:

DB #: DB Amount:

DB #: DB Amount:

DB #: DB Amount:

DB #: DB Amount:

DB #: DB Amount:

DB #: DB Amount:

DB #: DB Amount:

DB #: DB Amount:

DB #: DB Amount:

DB #: DB Amount:

我有了字段“db_num”和“db_amnt”一个MySQL表,我想插入阵列到表中的所有输入数据。我环顾四周,'内爆'似乎是最好的方式,但经过大量研究后,我仍然无法实现。整个PHP执行并没有错误地结束,但是,不是显示两列中的所有10行,而是显示两列中值为0的两行,所有条目都为值= 0。这是我使用的代码:我做了一些调试和回荡在foreach循环的$值

$sql2 = array();

foreach($_POST as key=>$value)

{

if(key != 'submit')

{

if($value != '')

{

$sql2[] = '("'.mysql_real_escape_string($value['db_num']).'", "'.$value['db_amnt'].'")';

}

}

}

mysql_query('INSERT INTO ' .$tablename_db. '(db_num, db_amnt) VALUES '.implode(',', $sql2));

,而且事实证明,这只是显示三个学期; '数组','数组'和'提交'。进一步的检查表明,我可以从提交表单获取值的唯一方法是如果我通过$ _POST [db_num]和$ _POST [db_amnt]执行foreach循环而不是仅仅$ _POST。我不确定它为什么这样做以及如何解决这个问题。这是我在PHP中的第一个代码,我正在学习。我非常感谢任何帮助,我可以得到!

+0

您对$ _ POST结构作出错误的假设。做print_r($ _ POST)来研究它,看看你是否可以解决如何修复脚本。 –

2012-07-30 11:55:26

+0

阵列在POST数据中结束,比如提交复选框。另外,'key'应该是'$ key'。最后,将post数据转储到MySQL查询中是个不错的主意。如果有人更改DOM或以其他方式干扰该表单会怎么样?您允许它们潜在地破坏您的查询,或者更糟糕。做适当的检查和验证。 –

2012-07-30 11:56:43

+0

提示:从提交中删除“name”属性。它没有很多有用的信息,因此你不会在你的$ _POST中找到它。 –

2012-07-30 12:15:20

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值