[英]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.