Как получить данные из базы данных Firebird в PHP - PullRequest
0 голосов
/ 26 марта 2019

У меня есть довольно большая база данных Firebird, и я пытаюсь извлечь из нее данные, я использую класс pdo и использую его так:

for($i=0; $i < $hours; $i++):
$date = date('H:i:s',strtotime("+$i hour"));
$newdate = date('H:i:s', strtotime($date . "+1 hour"));
$sql = "SELECT count(*) as NUMBER FROM BANDZENDINGEN WHERE FT_TIJD_INGEVOERD BETWEEN '".$date."' AND '".$newdate."' AND FI_GEBRUIKER1='56'";
$count = $dbh->query($sql)->fetchColumn();

endfor;

То, что это делает, просто, я даю количество часов, и для этого количества часов этот запрос учитывает импорт для пользователя. Пример:

 $hours = 4;


 SELECT count(*) as NUMBER FROM BANDZENDINGEN WHERE FT_TIJD_INGEVOERD BETWEEN '08:40:57' AND '09:40:57' AND FI_GEBRUIKER1='56'
 SELECT count(*) as NUMBER FROM BANDZENDINGEN WHERE FT_TIJD_INGEVOERD BETWEEN '09:40:57' AND '10:40:57' AND FI_GEBRUIKER1='56'
 SELECT count(*) as NUMBER FROM BANDZENDINGEN WHERE FT_TIJD_INGEVOERD BETWEEN '10:40:57' AND '11:40:57' AND FI_GEBRUIKER1='56'
 SELECT count(*) as NUMBER FROM BANDZENDINGEN WHERE FT_TIJD_INGEVOERD BETWEEN '11:40:57' AND '12:40:57' AND FI_GEBRUIKER1='56'

Проблема в том, что $ count = $ dbh-> query ($ sql) -> fetchColumn (); дай мне ОШИБКУ 503 - Сервис недоступен! Если я делаю этот запрос внутри базы данных (RazorSql), это займет всего 19 секунд. Что я делаю неправильно? Пожалуйста, помогите.

...