Я пытаюсь вставить отказоустойчивый код в код, чтобы они не пошли дальше, и некоторое время я почесал голову.Я могу поместить что-то в массив, но не могу получить элементы из массива, соответствующие второму запросу select.Я получаю Array вместо значения из элемента.
Мой первый запрос на выборку выглядит так:
$datohenter3 = "select DATE_FORMAT(datotid, '%Y.%m.%d') AS dato from gramorapport34 group by dato order by dato asc";
$hentdatoer = $db->query($datohenter3);
$periodedatoer = array();
for ($x = 1; $x <= $db->affected_rows; $x++) {
$periodedatoer[] = $hentdatoer->fetch_assoc();
}
Затем я хочу сопоставить значения из этого массива с моим следующим запросом на выборку:
$rapportdatoer = "select fradato, tildato from gramorapportlogg WHERE fradato IN('".$periodedatoer."') OR tildato IN('".$periodedatoer."')";
$rapportdatoeksist = $db->query($rapportdatoer);
if ( !$rapporteksist ) die('Database Error: '.$db->error);
while($row = mysqli_fetch_array($rapportdatoeksist))
{
print_r($row);
}
Я получаю следующие ошибки:
Примечание: преобразование массива в строку для второго выбора
Ошибка базы данных: у вас есть ошибка в вашейСинтаксис SQL;проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса, который можно использовать рядом с 'fradato IN (' Array ') ИЛИ tildato IN (' Array ')' в строке 1
Я не являюсьэксперт по запросам JOIN SELECT.Это использует MariaDB 10.3.12 с PHP7.2
var_dump, доступным по адресу: https://www.lokalradio.no/rapport/gramo/datohenttest.php