2014-01-11 62 views
0

在我的表“配置”我有38场,正如你可以看到下面:BindValue循环中插入王氏PDO

enter image description here

然后,而不是在时间键入所有这些领域,我认为插入以下代码:

$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(); 

可变结果如下

enter image description here

所以,我的想法不起作用,但DataBase中的结果不保存,为什么?

+0

你的表'config'是写有或没有's'像这样'configs'? –

+0

对不起,我的表名是config,我编辑它 – user3177502

回答

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.') '); 
+0

$ valor_cout是一个$ _cookie,代表用户的登录名 – user3177502