簡體   English   中英

為什么查詢語句返回false?

[英]Why does this if statement of query return false?

我面臨的問題是我鍵入的條件語句返回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");

您需要在->addkey方法的某處添加return true 如果未檢測到錯誤,也許在底部?

您的問題是您的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. 

} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM