2013-04-16 4 views
-1
$page = $_GET['page']; 
$p_id = project_id_from_project_name($page); 
$project_tasks = tasks_list($p_id); 
function PrintR($project_tasks) { 
    echo '<pre>'; 
    print_r($project_tasks); 
    echo '</pre>'; 
} 

$ страница отображает правильные вещи и $ P_ID отображает идентификатор проекта, который используется в функции tasks_list показано ниже:Невозможно print_r массиву

function tasks_list($p_id) { 
    $project_tasks = array(); 
    $p_id = (int)$p_id; 

    $func_num_args = func_num_args(); 
    $func_get_args = func_get_args(); 

    $project_tasks = mysql_fetch_assoc(mysql_query("SELECT `task_name` FROM `tasks` WHERE `project_id` = $p_id")); 

    return $project_tasks; 
} 

Запрос работает и проверен на моя база данных, однако print_r не отображает данные?

Не можете понять почему?

Thanks

+2

Где вызывается 'PrintR()'? Открыто ли подключение к базе данных? – Wiseguy

+0

Попробуйте 'print_r $ project_tasks;' посмотрите, что это дает. без круглых скобок. –

+0

yes db connection is open, я понял, что должен использовать print_r(), но который отображает эту ошибку: (!) Неустранимая ошибка: не удается обновить Print_r() в C: \ wamp \ www \ project \ edit_task.php on line 12 – Ryan

ответ

2

Вы действительно называете PrintR() где угодно?

Обратите внимание, как пример ниже ничего не отображается:

<?php 
    $data = array('hello', 'this', 'is', 'an', 'array'); 
    function PrintR($data) { 
     echo '<pre>' . print_r($data, true) . '</pre>'; 
    } 

http://codepad.viper-7.com/L1wvfb

Но это делает:

<?php 
    $data = array('hello', 'this', 'is', 'an', 'array'); 
    PrintR($data); 


    function PrintR($data) { 
     echo '<pre>' . print_r($data, true) . '</pre>'; 
    } 

http://codepad.viper-7.com/liJmZx

Примечание добавленный PrintR($data);. прямо в начале.

0

Вы определяете функцию PrintR() сразу же после вызова task_list(). Но вы на самом деле не вызываете PrintR(). Ошибка, которую вы получаете «Невозможно обновить print_r()», кажется, указывает на то, что вы пытаетесь изменить строку с помощью функции PrintR ($ project_tasks) {'to' function Print_r ($ project_tasks) {'...

$project_tasks = task_list($p_id); 
PrintR($project_tasks); 
function PrintR($project_tasks) { ... } 
+0

Это предположение? Потому что нет никаких доказательств того, что ОП делает что-то вроде этого –

+0

Да, это предположение, основанное на ошибке, которую он получал: «Невозможно переопределить Print_r()». Что произойдет, если код объявит строку типа «function print_r ($ project_tasks)», поскольку print_r уже существует. Следовательно, часть «кажется, указывает». Я предполагаю, что они видят объявление функции как вызов, а не просто объявление. (ошибка, взятая из раздела комментариев) – Camron

+0

Пожалуйста, убедитесь, что вы включаете, что вы делаете логическое предположение на основе предоставленных сведений; это поможет разобраться в будущем –

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