Как проверить, что поле Mysql Time NULL - PullRequest
0 голосов
/ 03 мая 2018

Я новичок в программировании и пытаюсь заставить работать расписание. Моя проблема в том, что независимо от того, что я пытаюсь, я не могу заставить свой PHP проверить, установлено ли значение в моей БД на endWork или NULL. (По состоянию на данный момент это значение равно нулю)

<code><?php
if (isset($_POST['setTimestamp'])) {
$date = $_POST['date'];
$workDate = date('Y-m-d');


$dateQuery = "SELECT WorkDate FROM WorkingHours WHERE WorkDate = 
'$workDate'";
$eWorkQuery = "SELECT EndWork FROM WorkingHours WHERE WorkDate = 
'$workDate'";
$eBreakQuery = "SELECT EndBreak FROM WorkingHours WHERE WorkDate = 
'$workDate'";
$sBreakQuery = "SELECT StartBreak FROM WorkingHours WHERE WorkDate = 
'$workDate'";
$sWorkQuery = "SELECT StartWork FROM WorkingHours WHERE WorkDate = 
'$workDate'";


$d_query_run = mysqli_query($con, $dateQuery);
$e_w_query_run = mysqli_query($con, $eWorkQuery);
$e_b_query_run = mysqli_query($con, $eBreakQuery);
$s_b_query_run = mysqli_query($con, $sBreakQuery);
$s_w_query_run = mysqli_query($con, $sWorkQuery);


if (mysqli_num_rows($d_query_run)==1) {

    if (!isset($e_w_query_run)) {

        if (empty($e_b_query_run)) {

            if (empty($s_b_query_run)) {

                if (empty($s_w_query_run)) {
                }
                else{
                    echo " set StartBreak's time to localtime ";
                }


            }
            else{
                echo " set EndBreak's time to localtime ";
            }


        }
        else{
            echo " set EndWork's time to localtime ";
        }


    }

    else{
        echo " You already submited your timesheet for today ";
        echo "<pre>" ,print_r($e_w_query_run, TRUE),"
"; } } еще { echo "установить время StartWork на местное время"; } } ?>

Строка кода ниже предназначена только для проверки вывода моего запроса.

<code>echo "<pre>" ,print_r($e_w_query_run, TRUE),"
";

Я пробовал это с !isset() is_null empty(). В основном это говорит мне, что он не может использовать эти Операции на Объекте, но вместо этого на Массиве. Из-за этого я попробовал это с mysqli_fetch_array, но это тоже не сработало.

Было бы замечательно, если бы кто-то мог мне помочь с этим, а также спасибо заранее.

1 Ответ

0 голосов
/ 03 мая 2018

Просто запустить mysqli_query не даст вам ваши данные. Чтобы получить к нему доступ, нужно сделать что-то вроде этого:

$qyery = mysqli_query($con, $eWorkQuery);
$result = mysqli_fetch_array($query);
if(is_null($result['EndWork'])){
  echo " set EndBreak's time to localtime "; 
}

или если вы хотите использовать объекты

$result = mysqli_fetch_object($query);
if(is_null($result->EndWork)){
  echo " set EndBreak's time to localtime "; 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...