Мой вопрос очень похож на этот вопрос. Однако, в отличие от этого вопроса, у моего массива нет значений поля. Мой массив выглядит так:
Array
(
[0] => Array
(
[0] => Extraction and characterisation of gelatin from the skin of striped catfish (Pangasianodon hypophthalmus) and studies on its colour improvement
[1] => EMAIL FREE FULL TEXT DOWNLOAD FULL TEXT
[2] => Prabjeet Singh, Soottawat Benjakul
[3] => 1-9
[4] => http://dx.doi.org/10.5897/AJB2013.13121
)
[1] => Array
(
[0] => Electrolyte ions and glutathione enzymes as stress markers in Argania spinosa subjected to drought stress and recovery
[1] => EMAIL FREE FULL TEXT DOWNLOAD FULL TEXT
[2] => Abdelghani Chakhchar, Mouna Lamaoui, Salama Aissam, Abderrahim Ferradous, Said Wahbi, Abdelhamid EI Mousadik, Saad Ibnsouda-Koraichi, Abdelkarim Filali-Maltouf, Cherkaoui El Modafar
[3] => 10-21
[4] => http://dx.doi.org/10.5897/AJB2016.15234
)
[2] => Array
(
[0] => Molecular detection of disease resistance genes to powdery mildew (Blumeria graminis f. sp. tritici) in wheat (Triticum aestivum) cultivars
[1] => EMAIL FREE FULL TEXT DOWNLOAD FULL TEXT
[2] => Vincent Mgoli Mwale, Xiuli Tang, Eric Chilembwe
[3] => 22-31
[4] => http://dx.doi.org/10.5897/AJB2016.15720
)
)
Я пытаюсь получить данные этого массива в таблицу mysql. Используемый мной код php выглядит следующим образом:
foreach ($newref as $key=>$values){
$title = $values[0];
$authors = $values[2];
$pages = $values[3];
$doi = $values[4];
$query = "INSERT INTO citations (id,title,authors,pages,doi) VALUES (:title,:authors,:pages,:doi)";
$sql=$con->prepare($query);
$sql->execute(array(
':title' => $title,
':authors' => $authors,
':pages' => $pages,
':doi' => $doi
));
}
Почему-то я не могу вставить данные в таблицу. Мое соединение Db в порядке и не сообщает о каких-либо ошибках. Что я могу делать неправильно? Каков наилучший/более простой способ вставки такого рода данных в таблицу mysql? Я нахожусь наедине с моим... Спасибо вам заранее
Если атрибут id
в таблице является автоматическим приращением, он должен быть удален из запроса. Он автоматически принимает следующее добавочное значение и просто вставляет другие столбцы/поля.
Запрос должен выглядеть следующим образом:
$query = "INSERT INTO citations (title,authors,pages,doi) VALUES (:title,:authors,:pages,:doi)";
Кстати, вы пытаетесь в правильном направлении.
description
0
,title
1
и т. д.