在我的表'config'中我有38个字段,如下所示:
然后,在我想插入以下代码时,而不是键入所有这些字段:
$var = "";// var para os campos
$var0 = ""; // var para os values
for($i=1;$i<39;$i++){
$var = $var.$i.',';
}
for($i=0;$i<36;$i++){
$var0 = $var0.':'.$i.',';
}
$info_config = $ponte_db->prepare('INSERT INTO config ('.$var.') VALUES ('.$valor_cout.','.$var0.') ');
for($i=0;$i<36;$i++){
$info_config->bindValue(":".$i, $result[$i]);
}
$info_config->execute();
变量结果如下
所以,我的想法不起作用,但数据库中的结果不能保存,为什么?
答案 0 :(得分:0)
你有一点问题,你的字符串每次都重写:
所以不要这样:
for($i=1;$i<39;$i++){
$var = $var.$i.',';
}
for($i=0;$i<36;$i++){
$var0 = $var0.':'.$i.',';
}
这样做:
for($i=1;$i<39;$i++){
$var .= $var.$i.',';
}
for($i=0;$i<36;$i++){
$var0 .= $var0.':'.$i.',';
}
唯一的区别是我向.
添加=
。
.=
是$string = $string + 'value';
另外我认为你应该改变这个(但我不确定因为我不知道$valor_cout
来自哪里):
$info_config = $ponte_db->prepare('INSERT INTO config ('.$var.') VALUES ('.$valor_cout.','.$var0.') ');
到
$info_config = $ponte_db->prepare('INSERT INTO config ('.$var.') VALUES ('.$var0.') ');