У меня есть массив с неизвестным количеством записей, которые нужно вставлять в таблицу БД MySQL при каждом выполнении скрипта. Благодаря другому совету я успешно прошел цикл по массиву и создал инструкцию INSERT () для каждой записи, но вызов mysqli для вставки записей добавляет первую запись дважды, несмотря на то, что запрос $ SQL выглядит корректно.
Вот фрагмент:
foreach( $family_member as $key=>$value ){
$first_name = str_replace("'","''", $value['First']);
$last_name = str_replace("'","''", $value['Last']);
$SQL .="INSERT INTO family_roster(
first_name,
last_name,
enter_date) VALUES(
'$first_name',
'$last_name',
sysdate());";
$mysqli->multi_query($SQL);
print_r для $ SQL показывает оператор INSERT (), как и ожидалось:
INSERT INTO family_roster (
first_name,
last_name
enter_date) VALUES (
'Chris',
'Test'
sysdate());
INSERT INTO family_roster (
first_name,
last_name
enter_date) VALUES (
'Barbera',
'Test'
sysdate());
Но таблица показывает следующие результаты:
first_name | last_name | enter_date
--------------------------------------------
Chris |Test |2019-04-11 00:32:21
Chris |Test |2019-04-11 00:32:21
Barbera |Test |2019-04-11 00:32:21
--------------------------------------------
Я не могу найти ссылку на веб-странице, которая дважды вызывает скрипт. Я предполагал, что sysdate () будет показывать разные времена входа, но я предполагаю, что это происходит менее чем за секунду.