在mysql返回数组时出错

时间:2011-03-29 23:33:53

标签: php mysql

我们正在使用以下代码来设置。

            if (is_numeric($id)) {

            global $db;

            $product = $db->query('SELECT id, name, code, amount FROM products WHERE id = ' . $id . ' LIMIT 1');

            print_r($product);
            echo $product['name'];

            if (!empty($product)) {

                $this->cId = $product['id'];

                $this->cName = $product['name'];

                $this->cDuration = $product['code'];

                $this->cCost = $product['amount'];

            }

            else return false;

        }

    }

但它给出了以下输出的通知......

Array ( [0] => Array ( [id] => 2 [name] => Gaming [code] => 12 [amount] => 20000 ) ) 

注意:未定义的索引:第26行的root // class.products.php中的名称

注意:未定义的索引:第30行的root / class.products.php中的id

我们做错了什么,请帮助,谢谢。

3 个答案:

答案 0 :(得分:2)

$product实际上包含一个数组数组,您希望通过执行$product[0]

来访问第一个数组

你想这样做:

$product[0]['id']

$product[0]['name']

等等。

答案 1 :(得分:1)

您的数组有一个嵌套数组,因此您需要使用$product[0]['name']访问它。尽管如此,仍然没有关键'duration''fee'

答案 2 :(得分:0)

这是一个子阵列。例如,您可以使用$product[0]['id']访问它 `