我有此代码:
$TargetPlayerPosition = $GLOBALS['DATABASE']->uniquequery("SELECT total_rank FROM ".STATPOINTS." WHERE `id_owner` = '". $this->_fleet['fleet_target_owner'] ."';");
问题在于我不能在$TargetPlayerPosition
上加上+10,因为它是字符串。但是在数据库中,total_rank
是一个INT。
答案 0 :(得分:0)
<?php
$TargetPlayerPosition = $GLOBALS['DATABASE']->uniquequery("SELECT total_rank FROM ".STATPOINTS." WHERE `id_owner` = '". $this->_fleet['fleet_target_owner'] ."';");
/* conversion to int */
$rank = (int) $TargetPlayerPosition;
/* do the required arithmetic */
/* $rank + 10 will work now */
?>
答案 1 :(得分:0)
不确定查询后如何从结果集中检索值。 通常,您应该从数据库中为整数的字段中获取整数类型值。 如果没有,则可以将值转换为php。
$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 ..."