Yept Asked: 2020-02-22 13:48:58 +0800 CST 2020-02-22 13:48:58 +0800 CST 2020-02-22 13:48:58 +0800 CST 将 Mysql 查询结果转换为 INT 772 如果我有以下功能: function obtener_id(){ $conn = db_connect(); $query = "SELECT max(idproblema) FROM problemas"; $result = @$conn->query($query); return $result; } 我想要做的是这个查询返回给我的是图像中标记的数字,已经是一个 INT ......例如,$result 只有 1,我做这个查询来找出最后一个 id桌子。 我希望结果保持为数字,我不希望这样: php 1 Answers Voted Best Answer A. Cedano 2020-02-22T14:33:28+08:002020-02-22T14:33:28+08:00 我会编写一个安全的函数,如下所示: function obtener_id(){ $conn = db_connect(); $query = "SELECT max(idproblema) maximo FROM problemas"; $result = $conn->query($query); $maximo=0; if ($result) { $fila = $result->fetch_assoc(); $maximo = ($result->num_rows === 0) ? 0 : $fila["maximo"]; } return (int) $maximo; } 在其中,我考虑了以下逻辑: 将值输入0变量$maximo 检查查询是否成功。如果是,那么我继续分配值 我已经maximo为 的结果列提供了别名SELECT,以便我以后可以使用它来检索它fetch_assoc(这是一个偏好问题,代码清晰......其他方法是可能的)。 如果没有找到数据,使用三元运算符分配给$maximosea ,作为返回列的值。0 返回$maximo,作为一个整数。您可以使用var_dump($maximo);. 注意:我已删除@. 消除错误是不好的编程习惯。 我希望它对你有帮助。
我会编写一个安全的函数,如下所示:
在其中,我考虑了以下逻辑:
0
变量$maximo
maximo
为 的结果列提供了别名SELECT
,以便我以后可以使用它来检索它fetch_assoc
(这是一个偏好问题,代码清晰......其他方法是可能的)。$maximo
sea ,作为返回列的值。0
$maximo
,作为一个整数。您可以使用var_dump($maximo);
.注意:我已删除
@
. 消除错误是不好的编程习惯。我希望它对你有帮助。