我的HTML表单中有70个文本字段。我想使用php和mysqli将这些字段中的数据插入到数据库中。所以我想在创建sql查询时使用foreach循环。我尝试了以下内容,但是我无法获得所需的结果。
foreach ($_POST as $key => $value) {
$f = $f . "," . $key ;
$v = $v . ",'" . $value . "'";
}
$sql = "insert into table1($f) values ($v)";
变量f
应该带有一串逗号分隔的字段名称,这些字段是$_POST
数组的字段。变量v
用于携带$_POST
数组的单引号逗号分隔值。我现在正在f
和v
的开头添加一个额外的逗号。如何删除它。
请帮忙!
答案 0 :(得分:3)
您应该使用/AF
从右侧删除额外的逗号
rtrim()
foreach ($_POST as $key => $value) {
$f = $f . "," . $key ;
$v = $v . ",'" . $value . "'";
}
$f = rtrim($f,',');
$v = rtrim($v,',');
$sql = "insert into table1($f) values ($v)";
会删除逗号。
rtrim($f, ",")
会删除尾随和前缀逗号。
你也可以使用trim($f, ",")
删除字符串中的最后一个字符,如下所示
substr()
进一步阅读
substr($f, 0, -1); substr($v, 0, -1);
:http://php.net/trim
trim()
:http://php.net/rtrim
rtrim()
:http://php.net/substr
修改强> 更好的方法是
substr()
如果有帮助,请告诉我..
答案 1 :(得分:0)
试试这个
foreach ($_POST as $key => $value) {
$f .= $f . "," . $key ;
$v .= $v . ",'" . $value . "'";
}
$f = ltrim($f,',');
$v = ltrim($v,',');
$sql = "insert into table1($f) values ($v)";
答案 2 :(得分:0)
最好先使用isset()
检查前面的逗号,这也会删除你收到的警告。
foreach($_POST as $key => $value) {
$f = isset($f) ? $f . "," . $key : $key;
$v = isset($v) ? $v . "," . $value : $value;
}