我有一张桌子叫setting。
我想得到key等于regCharg的值:

$result_gift = mysql_query("select value,key from setting WHERE key='regCharg'");
$result_gift_row = mysql_fetch_array($result_gift);
$finance = (float)$result_gift_row[2] ;但是它返回0值而不是1000。

(我知道我必须使用mysqli或PDO而不是mysql)。
发布于 2014-11-12 17:03:46
key是一个保留词。您不能在查询中使用它“裸”:
$result_gift = mysql_query("select value,`key` from setting WHERE `key`='regCharg'");
^---^---如果您甚至在脚本中使用了基本的基本错误处理,那么您就会对语法错误感到不满:
$result = mysql_query(...) or die(mysql_error());
^^^^^^^^^^^^^^^^^^^^^^^您获得zero是因为查询失败,返回布尔FALSE,然后在获取操作中使用该布尔false,导致进一步失败。
当执行数据库查询时,从不假设成功。总是假设失败,检查失败,并把成功当作一个惊喜。
发布于 2014-11-12 17:01:24
您只从数据库返回两个字段。当使用数组时,索引从0开始。
数组将按照SQL查询中使用的顺序排序。
因此,您需要使用$result_gift_row[0]返回字段值。result_gift_row[1]将返回密钥字段。
https://stackoverflow.com/questions/26892278
复制相似问题