如何在php中的sql语句中插入多行。似乎阵列不起作用。我的一些变量在数组中,一些在循环中被修复。
$sql = array();
for ($i=0; $i< count($datesArray); $i++){
array_push($sql, "INSERT INTO courseSchedule (isc, date, startTime, endTime, sessionTitle, sessionDescription) VALUES ('$isc', '$datesArray[$i]', '$TimesArrayStart[$i]', '$TimesArrayEnd[$i]', '$TitlesArray[$i]', '$DescriptionsArray[$i]')");
}
$query = mysqli_query($db_conx, $sql);
我已经更改了类似的代码,但仍然没有输入。
$sql = array();
for ($i=0; $i< count($datesArray); $i++){
$sqlarray[] = '('.$isc.', '.$datesArray[$i].', '.$TimesArrayStart[$i].', '.$TimesArrayEnd[$i].', '.$TitlesArray[$i].', '.$DescriptionsArray[$i].')';
}
$sql = 'INSERT INTO courseSchedule (isc, date, startTime, endTime, sessionTitle, sessionDescription) VALUES'.implode(',', $sqlarray);
$query = mysqli_query($db_conx, $sql);
使用mysqli_multi_query也不起作用:
$sql = "";
$count = count($datesArray);
for ($i = 0; $i < $count; $i++){
$sql .= "INSERT INTO courseSchedule (isc, date, startTime, endTime, sessionTitle, sessionDescription) VALUES ('$isc', '$datesArray[$i]', '$TimesArrayStart[$i]', '$TimesArrayEnd[$i]', '$TitlesArray[$i]', '$DescriptionsArray[$i]')";
}
echo($sql);
$query = mysqli_multi_query($db_conx, $sql);
答案 0 :(得分:2)
连接查询并使用mysqli_multi_query()。请注意,您需要使用;
结束SQL语句看看http://php.net/manual/en/mysqli.multi-query.php
或者,对于INSERT,您可以像这样构建查询:
INSERT INTO example
(example_id, name, value, other_value)
VALUES
(100, 'Name 1', 'Value 1', 'Other 1'),
(101, 'Name 2', 'Value 2', 'Other 2'),
(102, 'Name 3', 'Value 3', 'Other 3'),
(103, 'Name 4', 'Value 4', 'Other 4');
答案 1 :(得分:0)
通过消除过程并且因为你没有向我们展示你的表,因为你的PHP语法是正确的并且你的INSERT是正确的,很明显你没有每个值的值(不能是NULL)在你的INSERT中。也许你应该在for之前回复这些值来验证。祝你好运。
答案 2 :(得分:0)
这些方面的东西应该有效 - 事实上,这应该有效。
未经测试,但很快就以隐身模式从我的办公桌上写下来了。
$sql = 'INSERT INTO courseSchedule (isc, date, startTime, endTime, sessionTitle, sessionDescription) VALUES ';
$count = count($datesArray);
for ($i = 0; $i < $count); $i++)
{
$sql .= "('$isc', '$datesArray[$i]', '$TimesArrayStart[$i]', '$TimesArrayEnd[$i]', '$TitlesArray[$i]', '$DescriptionsArray[$i]')" . (($i + 1) == $count ? '' : ',');
}
$query = mysqli_query($db_conx, $sql);