【发布时间】:2012-03-18 23:26:19
【问题描述】:
由于某种原因,我的 else 语句没有触发,我认为我的方法由于某种原因没有返回 true。
主要代码
function msg($content)
{
//function that echos out page with content in it
}
$car=new yamiko_car;
if(!$car->add())//returns bool false on fail and true on success
{msg($car->error);}
else{msg('Car has been added');}
并且方法不是它在失败时返回 false 我测试数据但只是在那里发表评论。已经全部测试过了,效果很好。
public function add()
{
//gets data succesfully
//MySQL
$this->query("INSERT INTO car (year, make, model, price, obo, img1, img2, img3, img4, description)
VALUES ('$year', '$make', '$model', '$price', '$obo', '$img1', '$img2', '$img3', '$img4', 'txt') ");
echo 'mysql added';
return true;
}
function query($sql, $result=false)
{
$query=mysql_query($sql);
if(!$query){$this->mysqlError.=mysql_error().'<br />';return false;}
if($result==false){return true;}
else{return $query;}
}
我添加了 echo 语句,它触发良好...
当出现错误时,它返回 false 并运行 msg()
我将语句切换到if($car->add()){msg('car added')}else{msg($car->error);} if 或 else 语句都不会触发
另外 if 语句之后的任何代码都不会触发,并且没有 php 或 mysql 错误。
【问题讨论】:
-
你的 add 函数每次都返回
true -
returns bool false on fail and true on success我不知道它什么时候可以返回 FALSE -
不,我没有将 cmets 放在那里,而不是显示用于获取和测试数据的所有代码。
-
$this->query() 究竟做了什么?如果您省略的某些代码可能是导致此行为的原因,则应在此处发布
-
你应该学会正确缩进你的代码
标签: php methods if-statement return