2015-12-01 2 views
0

Я делаю три почти идентичных MySQL-запроса, и я ищу, чтобы создать функцию для обработки трех вариантов, вместо того, чтобы повторять весь блок кода три раза. Переменная, которую я пытаюсь передать функции, - это массив, содержащий результаты запроса.Доступ к массиву запросов доступа к базе данных из функции

Мой PHP-код, супер-упрощена:

function list_comments($query) { 
    echo '<p>' . $query->Comment . '</p>'; 
} 

$theQuery = $wpdb->get_results("SELECT * FROM mytable WHERE Ny = 1 ORDER BY UserID, Date DESC"); 

list_comments($theQuery); 

Я попытался с помощью переменных переменных, чтобы заново создать имя переменной внутри функции, я попытался возвращает результат, а не вторя его , и я попытался использовать динамический способ создания имен переменных внутри функции; ${$query}. Но все дает мне тот же результат:

Предупреждение: http_build_query(): Параметр 1, как ожидается, будет массив или Object. Неверное значение дано в C: *** \ WWW \ wp_ * \ сор-контента \ темы * \ включает \ админ _ *** PHP по линии 41

Линия на которую ссылается как линия. 41 будет строка function list_comments($query) { выше.

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

ответ

0

Параметр в методе http_build_query, который вы определили, как ожидается, будет типом массива или объекта, очевидно, что он получает что-то другое. Чтобы исправить ошибку, вы должны опубликовать фрагмент кода, из которого вы вызываете метод, из (C: \ www \ wp_ \ wp-content \ themes * \ includes \ admin_ * .php в строке 41) поэтому мы можем взглянуть на это.

отметить также, что вы получили опечатку на вашем метод list_comments() пары, где theQuery должна быть $theQuery

Смежные вопросы