2014-01-11 95 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