Php将数组值插入mysql数据库

时间:2016-02-15 16:25:05

标签: php mysql arrays insert

请告知我哪里做错了?

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

我做得不对的事

1 个答案:

答案 0 :(得分:0)

考虑将查询字符串移动到单独的变量中:

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

然后尝试查看$ sql内容(例如使用var_dump($sql))。这可能会让您走上正确的道路。

另外,请在$sth->execute()之后添加:

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

这将显示MySQL错误消息(如果有)。 (不要忘记稍后删除所有这些调试输出。)