function get_ibo_id() {
if($registerquery = $this->conn->query("SELECT ibo_id FROM fasttrack WHERE count <
8 && flag = 1 ")){
$this->increase_count();
while ($row = $registerquery->fetch_assoc()) {
return $row[ibo_id];
}
}
else return "No id";
}
即使条件不满意,它总是进入if块... 疯了
答案 0 :(得分:4)
好的$ registerquery永远不会返回false,即使你的条件不满足......
在if语句中你必须得到一个变量才能返回true或false ...
我会做的是这样的事情(你必须熟练使用你的OOP代码):
function get_ibo_id() {
$registerquery = $this->conn->query("SELECT ibo_id FROM fasttrack WHERE count < 8 && flag = 1 ");
if (mysql_num_rows($registerquery) > 0) {
$this->increase_count();
while ($row = $registerquery->fetch_assoc()) {
return $row[ibo_id];
}
}
else return "No id";
}
它进行查询,检查你是否得到超过0的结果并做了必须做的事情,否则回显错误......
的Ladislav
答案 1 :(得分:0)
我认为问题在于
$this->conn->query(...)没有像您预期的那样返回FALSE。
mysql_num_rows($registerquery)
检查返回的行数