INSERT INTO `users` (`id`, `login`) VALUES(1, 'test1'), (2, 'test2'), (3, 'test3'), (4, 'test4'), (5, 'test5')
如何将这个简单的插入转换为php数组,以便在我的if条件下插入循环?
答案 0 :(得分:0)
您只需使用以下内容即可;
$values = array(
'1' => 'test1',
'2' =>'test2',
'3' => 'test3',
'4' => 'test4',
'5' => 'test5'
);
$sql = "INSERT INTO `users` (`id`, `login`) VALUES";
foreach ($values as $k => $v) {
$sql .= "(" . $k . ", '" . $v . "')";
}
如果您提供更多详细信息"您的if条件",它将会更新
答案 1 :(得分:0)
Huseyin非常接近,但是我修改了代码,因为你最终没有逗号来划分插入,这是必需的。
要解决此问题,您可以收集数组中的值,然后使用implode()在mysql中添加逗号。
$values = array#
(
"1" => 'test1',
"2" => 'test2',
"3" => 'test3',
"4" => 'test4',
"5" => 'test5',
);
$collect = array();
foreach ($values as $k => $v)
{
$collect[] = "(" . $k . ", '" . $v . "')";
}
$sql = "INSERT INTO `users` (`id`, `login`) VALUES " . implode(", ", $collect);