Приведенный ниже запрос отлично работает всякий раз, когда я пробую его в phpmyadmin:
SELECT CAST(DATETIME AS DATE), Provider, COUNT(Provider)
FROM purchases
GROUP BY CAST(DATETIME AS DATE), Provider
ORDER BY CAST(DATETIME AS DATE) DESC
Тем не менее, я всегда получал логическое значение, когда помещал его в свой PHP-скрипт:
$sql = "SELECT CAST(DATETIME AS DATE), Provider, COUNT(Provider)
FROM purchases
GROUP BY CAST(DATETIME AS DATE), Provider
ORDER BY CAST(DATETIME AS DATE) DESC";
if (mysqli_query($con,$sql))
{
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)) {
echo $row['CAST(DATETIME AS DATE)'];
echo $row['Provider'];
echo $row['COUNT(Provider)'];
}
}
else
{
echo "Error creating table: " . mysqli_error($con);
}
mysqli_close($con)
;
Я действительно был бы признателен за совет о том, как решить эту проблему.
Добавьте ini_set('display_errors', 1); ini_set('log_errors',1); error_reporting(E_ALL); mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); в начало вашего скрипта. Это заставит любые ошибки mysqli_ генерировать исключение, которое вы можете видеть в браузере, а также обычные ошибки PHP.






этот код напишите, как показано ниже, чтобы он работал нормально
вы используете mysqli во всех запросах и проверяете, имеет ли $result значение, чем запись печати, в противном случае сообщение error было напечатано
$result = mysqli_query($con,$sql);
if ($result)
{
while($row = mysqli_fetch_assoc($result)){
echo $row['CAST(DATETIME AS DATE)'];
echo $row['Provider'];
echo $row['COUNT(Provider)'];
}
}
else
{
echo "Error creating table: " . mysqli_error($con);
}
mysqli_close($con)
И объяснение того, что вы обсуждали и почему вы его изменили, также сделало бы этот вопрос достойным голоса и полезным для других, которые могут увидеть его в будущем.
Ваш код действительно большой беспорядок, прежде всего я рекомендую вам переписать код. Вы начинаете с mysqli, после этого вы используете MySQL_ * - он устарел ... а еще - ошибка создания таблицы? Какую таблицу вы создаете?