MySQL — PHP массив не сохраняет значения, как я ожидал

Сегодня я переписывал старую программу на 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

Может кто-нибудь сказать мне, почему это происходит?
Я неправильно использую массивы?
Как я должен использовать их для этой цели?

0

Решение

Ваш запрос хранится в массиве [‘query’] в соответствии с var dump, но ваш mysql_query использует [«track»]. Попробуйте переключить ваш запрос в массив [‘query’].

Также, пожалуйста, начните использовать mysqli вместо mysql, поскольку последнее устарело. Это старый код, как вы говорите, поэтому я не уверен, что вы знали, но я подумал, что скажу это по крайней мере.

0

Другие решения

Проблема была решена! Я упустил возможность увидеть, что позже в коде я использовал тот же массив $ mysql [‘track’], который удалял содержащиеся в нем значения!
Извините за невежество, наверняка я чему-то научился с этим.

0

По вопросам рекламы [email protected]