首页 > 解决方案 > 如何从 SQL 中选择数据作为 INT 而不是字符串?

问题描述

我有这个代码:

$TargetPlayerPosition = $GLOBALS['DATABASE']->uniquequery("SELECT total_rank FROM ".STATPOINTS." WHERE `id_owner` = '". $this->_fleet['fleet_target_owner'] ."';");

问题是我不能将 +10 添加到$TargetPlayerPosition,因为它是字符串。但是在DB中,total_rank是一个INT。

标签: phpmysql

解决方案


不确定查询后如何从结果集中检索值。通常,您应该从数据库中的整数字段中获取整数类型值。如果没有,那么您可以转换 php.ini 中的值。

 $v = (int)$v;
 // Or.
 $v = intval($v);

您可以使用如下查询在查询时动态添加数字:

"SELECT (total_rank+10) AS total_rank FROM ".STATPOINTS." WHERE ..."

即使该字段是字符串类型,也可以执行以下操作:

"SELECT (CONVERT(total_rank, SIGNED INTEGER)+10) AS total_rank FROM ".STATPOINTS." WHERE ..."

推荐阅读