mysqli вставляет первую запись в массив дважды - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть массив с неизвестным количеством записей, которые нужно вставлять в таблицу БД 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 () будет показывать разные времена входа, но я предполагаю, что это происходит менее чем за секунду.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...