我有这个功能,它从数据库中取出“flightize”并用它来设置一个对象。 我需要包含一个故障保护,如果DB中没有任何航班大小,则会使航班强度= 6。 我读到我会想要使用IFNULL,但不幸的是我不能让它工作。 有人可以帮助我吗?
此外,使用IFNULL或为这个“航班”创建一个新的表条目会更好吗,以便将来的选择有用吗?
public function getFlightSize($gamedata){
$stmt = $this->connection->prepare(
"SELECT
shipid, flightsize
FROM
tac_flightsize
WHERE
gameid = ?"
);
if ($stmt){
$stmt->bind_param('i', $gamedata->id);
$stmt->bind_result($shipid, $flightsize);
$stmt->execute();
while($stmt->fetch()){
$flight = $gamedata->getShipById($shipid);
$flight->flightSize = $flightsize;
$flight->populate();
}
$stmt->close();
}
}
答案 0 :(得分:0)
SELECT
shipid, IFNULL(flightsize,6) AS flightsize
FROM
tac_flightsize
WHERE
gameid = ?
应该可以工作,但是如果你的桌子中没有gameid,你将根本得不到任何记录,你将不得不处理你的PHP代码中的情况。