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