Почему это происходит, если оператор запроса возвращает false? - PullRequest
0 голосов
/ 12 мая 2018

Проблема, с которой я сталкиваюсь, состоит в том, что введенное мною условное предложение возвращает false!

if ($db->addkey($key_value,$key_balance,$key_created_date))
{
    echo 'TRUE';
}
else
{

    echo 'FALSE';

}

Мне нужно сказать, что $db->addkey($key_value,$key_balance,$key_created_date сработало и передать значения в базу данных как совершенные, но я все еще подключенпочему этот оператор возвращает false?

Функция addkey:

    public function addkey($key_value,$key_balance,$key_created_date){
    if ( !$this->link ) return false;
    $query = "INSERT INTO `" . $this->table_prefix . "keys` (`key_value`,`key_balance`,
        `key_created_date`)
        VALUES('" . $this->realEscapeSingle($key_value) .
        "', '" . $this->realEscapeSingle((int)$key_balance) . "', '" . $this->realEscapeSingle($key_created_date) . "')";

    ++$this->queries_;
    mysqli_query($this->link,$query);

    $key_id = mysqli_insert_id($this->link);
    if( !$key_id )
    {
        echo mysqli_errno($this->link) . ": " . mysqli_error($this->link);
        return false;
    }
}

А переменные:

$key_value = "25H8G-PIEAU-RB8H2";

$key_balance = 10;

$key_created_date = date("Y-m-d h:m:s");

Ответы [ 2 ]

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

Ваша проблема в том, что вы addkey метод никогда не сможете вернуть true

Поэтому, когда вы проверяете метод, возвращаемый в операторе if(...), if никогда не будет работать, независимо от того, выполнил ли метод свою намеченную обязанность.

См. код:

public function addkey($key_value,$key_balance,$key_created_date){
    ....

  $key_id = mysqli_insert_id($this->link);
  if( !$key_id )
   {
     echo mysqli_errno($this->link) . ": " . mysqli_error($this->link);
     return false;
   }

 return true; // this catch that if none of the return false 
              // are triggered then the function MUST be true. 

} 
0 голосов
/ 12 мая 2018

Вы захотите добавить return true где-нибудь в методе ->addkey.Может быть внизу, если ошибок не обнаружено?

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