Я создаю веб-сайт, который получает события и все другие связанные с событиями данные из Facebook через FQL-запрос Facebook. Все работало нормально, пока я не хотел получить всю запрошенную информацию в моей базе данных. Некоторые события записываются в базу данных, а некоторые - нет.Невозможно получить данные запроса fql в моей базе данных
Вот пример страницы, на которой я поставил два запроса FQL, которые будут отображаться также на странице (это значит, что запрос успешный), и они также будут вставлены в базу данных, но только одна из них будет записана. Место, названное HETK, записано, но Muusika Lounge - нет. Here's an example page.
Моя вторая проблема заключается в том, что записанные события не записываются с сегодняшней даты. Все начинается с завтрашнего дня. (Это можно увидеть на картинке)
Код getTallinn1.php
:
$today = date("Y-m-d");
$now= $today ;
$Muusikalounge = array(
'method' => 'fql.query',
'query' => "SELECT name, start_time,description, location,attending_count,venue,pic_cover,eid
FROM event WHERE eid IN (SELECT eid FROM event_member WHERE uid = 450415438376448 AND start_time >= '$now' )
ORDER BY start_time asc LIMIT 0, 3",);
$Result = $facebook->api($Muusikalounge);
foreach ($Result as $rows) {
mysqli_query($con, "REPLACE INTO tallinn (name, start_time, description, location, attending_count, venue, pic_cover, eid) VALUES ('".$rows['name']."', '".$rows['start_time']."', '".$rows['description']."', '".$rows['location']."', '".$rows['attending_count']."', '".$rows['venue']."', '".$rows ['pic_cover']['source']."', '".$rows['eid']."')");
}
$hetk = array(
'method' => 'fql.query',
'query' => "SELECT name, start_time,description, location,attending_count,venue,pic_cover,eid
FROM event WHERE eid IN (SELECT eid FROM event_member WHERE uid = 282875915182473 AND start_time >= '$now' )
ORDER BY start_time asc LIMIT 0, 3",);
$Result1 = $facebook->api($hetk);
foreach ($Result1 as $rows1) {
mysqli_query($con, "REPLACE INTO tallinn (name, start_time, description, location, attending_count, venue, pic_cover, eid) VALUES ('".$rows1['name']."', '".$rows1['start_time']."', '".$rows1['description']."', '".$rows1['location']."', '".$rows1['attending_count']."', '".$rows1['venue']."', '".$rows1 ['pic_cover']['source']."', '".$rows1['eid']."')");
}
Вот записанные данные в PHPMyAdmin:
database http://t2na.ee/database.jpg
Запросы идентичны. Я не знаю, что может быть причиной здесь.
UPDATE
Я нашел ключ к этой проблеме. Оставляем Описание Вставка в базу данных устраняет проблему. Теперь все работает так, как ожидалось. Но я не могу понять, в чем разница между некоторыми строками описания событий, вызывающими этот конфликт здесь. Строки описания, взятые из событий, различаются только по их длине, но длина здесь тоже не является проблемой. Я изменил тип описания на LongText, все еще ту же проблему.
Вы пренебрегаете тем, чтобы избежать/обрабатывать данные, которые вы ввели в запросы правильно. Пойдите, прочитайте по теме SQL Injection. – CBroe