首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从mysql数据库读取特定数据

问从mysql数据库读取特定数据
EN

Stack Overflow用户
提问于 2014-07-07 23:43:03
回答 3查看 47关注 0票数 0
代码语言:javascript
复制
$playerhp = mysql_query("SELECT hp FROM member WHERE user = '".$_SESSION['username']."'");
echo "hp:".$playerhp;

这可能是这块板上问过的最愚蠢的问题,但我现在已经试了几个小时了,还是找不到解决方案……

我想要做的是将变量$playerhp定义为我数据库中的数字,这样我以后就可以使用它了,但是在当前状态下,我没有得到任何东西( eco只是为了测试$playerhp现在是什么)我资助的所有指南现在都会继续进行$row和构建数组之类的事情,但是当我只得到一个正确的数字时,我需要一个数组做什么呢?!

PS:当我添加mysql_fetch_assoc或mysql_fetch_array时,我得到了错误消息: mysql_fetch_array()期望参数1是资源,布尔值在中给定,所以我的错误一定是在那个点之前的某个地方…

EN

回答 3

Stack Overflow用户

发布于 2014-07-07 23:45:11

您忘记了获取结果行。mysql_query函数返回结果资源,而不是行值。

您可以使用mysql_fetch_assoc、mysql_fetch_array或mysql_result函数。

代码语言:javascript
复制
$row = mysql_fetch_assoc($playerhp);
echo $row['hp'];`

P.S.:不要使用mysql_扩展,因为它已被弃用。请改用PDO或Mysqli。

票数 0
EN

Stack Overflow用户

发布于 2014-07-07 23:49:52

如果您只请求一个变量,那么可以使用mysql_result

用法:

代码语言:javascript
复制
$playerhp = mysql_result(mysql_query("SELECT hp FROM member WHERE user = '".$_SESSION['username']."' limit 1"), 0);

这应该会将hp存储在$playerhp变量中。

票数 0
EN

Stack Overflow用户

发布于 2014-07-08 00:03:40

如果成功,mysql_query()函数将返回一个resource。因此,在获取资源之后,您需要在该资源变量上使用php、mysql_fetch_assoc()、mysql_fetch_array()等来获取行数据。在此之后,您可以将它们用作常规变量。

所以这里:

代码语言:javascript
复制
$row = mysql_query("SELECT hp FROM member WHERE user = '".$_SESSION['username']."'");
$playerhp = mysql_fetch_assoc( $row["hp"] );

但对于开发新的php应用程序,请不要使用mysql扩展,因为此扩展在PHP 5.5.0中已被弃用,并将在未来删除。相反,应该使用MySQLi或PDO_MySQL扩展。

阅读有关mysqli here的更多信息

阅读有关PDO here的更多信息

与mysql扩展相比,mysqli和pdo也将提供更多的安全性。在mysql查询中使用过滤数据时,请尽量使用过滤数据,以防止sql注入。

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

https://stackoverflow.com/questions/24614538

复制
相关文章

相似问题

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