由于我已经找到了几种创建数组的方法并将其插入到mysql查询中,因此我在下面创建了一个显然无效的代码。我注意括号和逗号,但我错过了有关VALUES的内容。
因为,那是不起作用的部分,查询的第一部分(列)是正确编写的(我认为),但我遇到了第二次内爆。
请帮忙。
$f_ids = array(f1, f2, f3, f4, f5);
$f_list = implode(',', $f_ids);
$val_ids = array($val[1],$val[2],$val[3],$val[4],$val[5]);
$val_list = implode("','", $val_ids);
$result = mysql_query("INSERT into mytable(id, title, {$val_list})
VALUES ('$id','$title','{$f_list}')");
错误在哪里,我找不到???
答案 0 :(得分:5)
'{$f_list}'
只有一个值。但{$f_list}
是许多列标识符。结果是没有足够的值插入(mysql_error()
会告诉您是否使用它。)
你想要的是:
$result = mysql_query("INSERT into mytable(id, title, {$f_list})
VALUES ('$id','$title','{$val_list}')");
基本上你只是使用了错误的变量。
答案 1 :(得分:1)
快速查看代码,不应该在那里
VALUES ('$id','$title','{$val_list}')
而不是
VALUES ('$id','$title','{$f_list}')
你现在在那里有什么?
尝试打印输出$val_ids
和$val_list
的值,以查看值是否符合您的预期。
答案 2 :(得分:1)
您可以使用JSON
代替php数组,这是一种非常简单且无错误的方式来插入mysql。
<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>
执行时,会产生以下结果:
{"a":1,"b":2,"c":3,"d":4,"e":5}