首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql_fetch_array从一个简单的表返回0

问mysql_fetch_array从一个简单的表返回0
EN

Stack Overflow用户
提问于 2014-11-12 16:54:41
回答 2查看 359关注 0票数 0

我有一张桌子叫setting。

我想得到key等于regCharg的值:

​

​

代码语言:javascript
复制
    $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)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-12 17:03:46

key是一个保留词。您不能在查询中使用它“裸”:

代码语言:javascript
复制
$result_gift = mysql_query("select value,`key` from setting WHERE `key`='regCharg'");
                                         ^---^---

如果您甚至在脚本中使用了基本的基本错误处理,那么您就会对语法错误感到不满:

代码语言:javascript
复制
   $result = mysql_query(...) or die(mysql_error());
                             ^^^^^^^^^^^^^^^^^^^^^^^

您获得zero是因为查询失败,返回布尔FALSE,然后在获取操作中使用该布尔false,导致进一步失败。

当执行数据库查询时,从不假设成功。总是假设失败,检查失败,并把成功当作一个惊喜。

票数 2
EN

Stack Overflow用户

发布于 2014-11-12 17:01:24

您只从数据库返回两个字段。当使用数组时,索引从0开始。

数组将按照SQL查询中使用的顺序排序。

因此,您需要使用$result_gift_row[0]返回字段值。result_gift_row[1]将返回密钥字段。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26892278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档