2016-02-15 122 views
0

請指教我在哪裏做錯了?PHP將數組值插入到mysql數據庫中

$db  = new mysqli("localhost","root","","saad"); 
$prep = array(); 
foreach($data_array as $k => $v) { 
    $prep[':'.$k] = $v; 
} 
$sth = $db->prepare("INSERT INTO records (" . implode(', ',array_keys($data_array)) . ") VALUES (" . implode(', ',array_keys($prep)) . ")"); 
$res = $sth->execute($prep); 

東西我沒有做正確的

+0

可能您需要爲每個值引用,假設它們不是int – Mihai

+0

您確定$ data_array不是空的嗎? –

+0

當前代碼會發生什麼?錯誤? – chris85

回答

0

考慮查詢字符串移動到一個單獨的變量:

$sql = "INSERT......"; 
$sth = $db->prepare($sql); 

,然後嘗試,看看$ sql中的內容(使用var_dump($sql)例如)。這可能會讓你走上正確的道路。

此外,$sth->execute()後補充一點:

$error = $db->errorInfo(); 
echo $error[2]; 

這將顯示你的MySQL錯誤消息,如果有一個。 (不要忘記稍後刪除所有調試輸出。)