我正在查询并将MySQL表中的数字列返回到json数组。但是,当我尝试访问数组中的最后一个元素时,它会将其作为字符串返回。我尝试使用int进行转换,但之后返回0.这是我的代码:
public function get_latest_subcategory_id() {
$ids = $this->query("SELECT SubCategory_ID FROM SubCategory");
if ($ids->num_rows > 0) {
$arr_json = array();
while ($row = $ids->fetch_row()) {
$json = json_encode($row);
$arr_json[] = $json;
}
echo $arr_json[$ids->num_rows-1];
} else
return null;
}
有没有办法可以将它作为整数检索?
答案 0 :(得分:2)
JSON在这里没有做任何事情。为了得到最后一行,遍历整个数据库也是非常低效的。为什么不这样做呢?
public function get_latest_subcategory_id() {
$ids = $this->query("SELECT SubCategory_ID FROM SubCategory ORDER BY SubCategory_ID DESC LIMIT 1");
if ($ids->num_rows > 0) {
$row = $ids->fetch_row();
return intval($row[0]);
} else
return null;
}