MySQL GROUP запроса работает в консоли, не работает в сценарии PHP - PullRequest
0 голосов
/ 03 июня 2019

Я создал функцию с этим запросом mysqli, но по какой-то причине она не печатает желаемый результат в php-скрипте. Что я делаю не так?

SELECT  COUNT(*)
FROM (
SELECT id
FROM personal WHERE structure = ?
WHERE id IN 
(SELECT id FROM presence WHERE service = 'shift1' AND year = ? AND month = ? AND day = ? ) 
AND id IN 
(SELECT id FROM qualification WHERE idqualification = '1' or idqualification = '2')
ORDER BY RAND()
) t
GROUP BY t.id

обновление: это моя функция. Он должен найти людей, работающих в течение дня, имеющих эти квалификации, и подсчитать их

function presence_by_qualification($structure, $day, $month, $year)
{
global $connection;
$stmt = $connection->prepare("SELECT  COUNT(*)
FROM (
SELECT id
FROM personal WHERE structure = ?
WHERE id IN 
(SELECT id FROM presence WHERE service = 'shift1' AND year = ? AND month = ? AND day = ? ) 
AND id IN 
(SELECT id FROM qualification WHERE idqualification = '1' or idqualification = '2')
ORDER BY RAND()
) t
GROUP BY t.id");
$stmt->bind_param('ssss', $structure, $day, $month, $year);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($counts);
results = $stmt -> fetch();
return $results;
}

Я сохраняю результат в массиве, чтобы я мог их посчитать.

$presencebyqualif[] = presence_by_qualification($structure, $day, $month, $year);

Я использую это так:

$structure = "1029";
$day = "01";
$month = "05";
$year = "2019";

Они все переменные. Он должен показывать подсчитанное количество людей в смену, имеющих эти конкретные квалификации.

1 Ответ

0 голосов
/ 03 июня 2019

Вы поместили неправильный порядок параметров в функцию bind_param ().Вы должны добавить значение params в порядке "?"Вы использовали в своем запросе.Пожалуйста, внесите следующие изменения:

$stmt->bind_param('ssss', $structure, $year, $month, $day);

Надеюсь, это может помочь вам !!

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