Как использовать параметр функции PHP внутри массива?

#php #html #arrays #json #function

#php #HTML #массивы #json #функция

Вопрос:

Я пытаюсь объявить параметр функции внутри моего массива, но у меня возникают проблемы с его работой. Я урезал его для простоты, и у меня есть что-то вроде:

 function taken_value($value, $table, $row, $desc) {
    $value = trim($value); 
    $response = array();

    if (!$value) { 
        $response = array(
            'ok' => false, 
            'msg' => "This can not be blank."
        );
    } else if (mysql_num_rows(
                   mysql_query(
                       "SELECT * FROM $table WHERE $row = '$value'"))) {
        $response = array(
            'ok' => false,
            'msg' => $desc." is already taken."
        );  
    } else {
        $response = array(
            'ok' => true, 
            'msg' => ""
        ); 
    }
    echo json_encode($response); 
}
  

Обратите внимание, что параметр функции $desc пытается использоваться в массиве здесь:

 'msg' => $desc." is already taken.");
  

Вся функция работает нормально, ЗА исключением случаев, когда я пытаюсь добавить результаты $desc в массив.

Как это можно сделать?

Комментарии:

1. Это должно сработать. Вы получаете сообщение об ошибке?

2. Нет ошибки, я просто не получаю никаких выходных данных от функции. Было бы трудно сказать, была ли у меня ошибка, потому что это может отображаться только в POST из некоторых материалов ajax.

3. Эта конкретная часть вашего кода, похоже, работает: codepad.org/SBmOhhX1 Вы получаете конкретную ошибку?

4. Как сказал Раду, это должно сработать, вы убедились, что $desc установлен вообще?

5. Спасибо за просмотр кода. Вы все правы, это была ошибка пользователя (спасибо Джареду за то, что заставил меня вернуться ко всему). Эта функция является второй, которая запускается на странице. Я забыл объявить параметр в первой функции. Я собирался опубликовать код здесь, но я не могу ответить на свой собственный вопрос в течение 8 часов… поди разберись.

Ответ №1:

У вас есть дескриптор открытого ресурса для вашей базы данных? Вы не передаете его в функцию запроса.