【发布时间】:2015-02-12 01:04:00
【问题描述】:
今天我正在用 PHP 重新编写一个旧程序,我使用数组来更好地组织它。 编码后,当我测试它时,我意识到数组没有像我预期的那样保存值。 (我是 PHP 新手)
这是我定义数组的方式:
/* Mysql settings */
$mysql = array();
$mysql['track'] = array();
$mysql['track']['visitors'] = array();
$mysql['track']['visitors']['query'] = "SELECT `uid`, `referer` FROM `track` WHERE (`time` >= '".$time['request']['start']."' AND `time` < '".$time['request']['end']."') GROUP BY `uid`";
我使用 var_dum 查看值是如何保存并发出 mysql 请求的:
var_dump($mysql['track']);
...
mysql_query($mysql['track']['visitors']['query']);
这是输出:
array(1) {
["query"]=>
string(71) "SELECT `request` FROM `track` WHERE (`time` >= '' AND `time` < '86400')"
}
Query was empty
谁能告诉我为什么会这样? 我以错误的方式使用数组? 我应该如何将它们用于此目的?
【问题讨论】:
-
您的查询字符串在:
$mysql["track"]["visitors"]["query"]而不是$mysql["track"]["visitors"]