2013-04-11 100 views
0

我对PHP相当陌生,所以请原谅,如果我问的是错误的问题或者提出非常简单的问题。将MySQL数组拆分为单独的php变量

我有一个MySQL表格,它包含关于玩家基本统计数据的静态数据。我需要在播放器的概览屏幕上单独显示这些统计数据,但是在查询返回结果后我无法分离数据。

这里是我当前的代码:

$basestatsquery = mysql_query(" 
    SELECT Army, Defense, Resource, Food, Trade_Goods, Technology 
    FROM Player_Stats_Base 
") or die(mysql_error()); 
$basestats = mysql_fetch_row($basestatsquery); 

而且我已经能够验证它是否使用在我的页面下面的正确提取数据:

<p><?php print_r($basestats) ?></p> 

其结果输出为一个数组,并显示如下:

Array ([0] => 5 [1] => 5 [2] => 250 [3] => 60 [4] => 0 [5] => 0) 

但是从这一点我无法弄清楚wh可以去。我需要将这6个值中的每一个值分隔到自己的变量中,以便我可以将它们显示在适当的位置,并最终将它们乘以旨在增加基础统计量的修饰符。

任何帮助将不胜感激。

+0

你需要学习如何在php中使用数组。 – didierc 2013-04-11 01:54:20

+0

为什么你需要单独的变量?保持数组属于一个数组,它更简单。尝试使用'mysql_fetch_assoc'而不是'_row'来获取可用的数组索引。另外,不推荐使用mysql扩展,现在停止使用它并学习mysqli或PDO。 – deceze 2013-04-11 01:54:39

+0

http://php.net/manual/zh/language.types.array.php – didierc 2013-04-11 01:57:26

回答

1

使用mysql_fetch_assoc()它更直观*

$basestats = mysql_fetch_assoc($basestatsquery); 

echo $basestats['Army']; 
echo $basestats['Defense']; 
echo $basestats['Resource']; 
echo $basestats['Food']; 
echo $basestats['Trade_Goods']; 
echo $basestats['Technology']; 

*Please, don't use mysql_* functions in new code。他们不再维护and are officially deprecated。请参阅red box?请改为了解prepared statements,并使用PDOMySQLi - this article将帮助您决定哪个。如果您选择PDO,here is a good tutorial

+0

哇!我期望的那样容易得多。感谢您的直接回答,以及有关已弃用mysql_ *函数的信息。在进入过程之前,我会先检查两个新函数,然后重写所有的SQL编码。 – Brandon 2013-04-11 02:03:12