Итак, есть пара проблем: во-первых, в PHP-коде вы проверяете, эквивалентно ли "SELECT ... "
истине (так оно и есть) с предложением or die...
, которое на самом деле должно быть в операторе $link->query($sql)
. т.е.
$sql = "SELECT ... ";
$result = $link->query($sql) or die("Failed to query database" .mysqli_error());
Как только вы все сделаете правильно, вы увидите причину ошибки, которую вы видите, в том, что запрос не выполнен, и поэтому $result
имеет значение false, а не набор результатов.
Это приводит к другой проблеме - вашему запросу. SET
нет места в SELECT
. Что вы, вероятно, хотите, это:
$sql = "SELECT *, DATEDIFF(CURDATE(), RequiredDate) AS PendDays FROM main ORDER BY ReqstDate DESC";
Итак, в итоге, измените
$sql = "SELECT * FROM main SET PendDays = CURRENT_DATE - RequiredDate ORDER BY ReqstDate DESC" or die("Failed to query database" .mysqli_error());
$result = $link->query($sql);
к этому:
$sql = "SELECT *, DATEDIFF(CURDATE(), RequiredDate) AS PendDays FROM main ORDER BY ReqstDate DESC";
$result = $link->query($sql) or die("Failed to query database" .mysqli_error());