X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Не передаётся $значение в function()
Wano
Wano
Topic Starter сообщение 31.8.2015, 16:41; Ответить: Wano
Сообщение #1


Заране извиняюсь за, наверное, глупый вопрос, но недавно мигрировал на ПХП с одного древнего и 100% несовмесимого языка ныне мёртвой платформы.
Надеюсь, вашей помощью и своими кривыми мозгами смогу спрямить руки и начать писать работопргодный код.

Имею код, который выносит мне мозг. На одной странице есть функция и код, её инициализирующий. Проядок в коде сохранён.

FUNCTION test($test_mysql_request_result)
{//================ TESTING ================//

$msg .= '<br /><br />================ TESTING ================';

$msg .= '<br /><b>MYSQL REQUEST SUCCESSFUL!</b><br />';
while ($db_field = mysqli_fetch_assoc($test_mysql_request_result))
{
var_dump($db_field);
// Берём и назначаем в переменные кучу всяких параметров
$test_id = $db_field['id'];
$test_name = $db_field['name'];
}
$msg .= '<br />|||'. $test_id .'|||<br />';
$msg .= '<br />|||'. $test_name .'|||<br />';
$msg .= '<br /><b><span style="color: green;">EVERYTHING WORKS!!!</span></b><br />';

$msg .= '================ TESTING - END ================<br /><br />';

//================ TESTING - END ================//
echo $msg;
return $msg;
}


if ($test_mysql_request_result = mysqli_query($con, $sql))
{
$msg = test($test_mysql_request_result);
}
else
{
$msg .= '<br /><b>NO MYSQL REQUEST RESULT!!!</b><br />';
}
echo $msg;

Суть беды:
0. $test_mysql_request_result = mysqli_query($con, $sql), возврашает array. Гарантированно: если ("echo $sql;" -> "ctrl+ins/shift+ins" >> PMA sql) || (var_dump($test_mysql_request_result)), то всё ок.
1. $msg = test($test_mysql_request_result);
// формирую сообщение, но для этого...
1а. test($test_mysql_request_result);
// вызываю ункцию
1а1. FUNCTION test($test_mysql_request_result)
//функция присваивает локальной $test_mysql_request_result значение со своего входа.
1а2. while ($db_field = mysqli_fetch_assoc($test_mysql_request_result)){...};
// пролетает мимо, ибо $test_mysql_request_result уже пустая.
2. echo $msg - выводит, ессно, только обвес, без занчений.

Как говорится, ЧЯДНТ?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Info-Mans
Info-Mans
сообщение 31.8.2015, 18:17; Ответить: Info-Mans
Сообщение #2


$test_mysql_request_result = mysqli_query($con, $sql) не отдает массив (array), а отдает объект.

Чтобы принять в массив надо:

$items = mysqli_fetch_all($test_mysql_request_result, MYSQLI_ASSOC);


Сообщение отредактировал Info-Mans - 31.8.2015, 18:18
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Wano
Wano
Topic Starter сообщение 31.8.2015, 18:55; Ответить: Wano
Сообщение #3


Info-Mans,

(Info-Mans @ 31.8.2015, 20:17) *
 

$items = mysqli_fetch_all($test_mysql_request_result, MYSQLI_ASSOC);

У меня в одном массиве (ибо автоматизация) должны висеть примерно 180 значений (9 объектов по 20 полей каждый) Потому отдавать в функцию в таком виде - нерационально.
Для это в функции стоит:

while ($db_field = mysqli_fetch_assoc($test_mysql_request_result)

Вместе с тем, наблюдается интересный глюк: после того, как я добавил так:

if ($test_mysql_request_result = mysqli_query($con, $sql))
{
$msg = test($test_mysql_request_result);
}
else
{
$msg .= '<br /><b>NO MYSQL REQUEST RESULT!!!</b><br />';
}
echo $msg;
while ($db_field = mysqli_fetch_assoc($test_mysql_request_result))
{
var_dump($db_field);
// Берём и назначаем в переменные кучу всяких параметров
$test_id = $db_field['id'];
$test_name = $db_field['name'];
}

...значение в функции присвоилось!
Я не понимаю, как код ниже вообще может взимодействовать с кодом выше.

UPD:
Выявлена зависимость от переменной $_SESSION['id'].
Покопаю-ка я это направление. Если вдруг что найдётся - отпишусь.


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


Сообщение отредактировал Wano - 31.8.2015, 19:08
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Вечные ссылки с 300+ СДЛов, тиц до 750, ЯКи, DMOZ, от 1$/ссылка
вечные ссылки
258 SeoUaSales 128494 27.3.2024, 23:39
автор: FantAlexis
Открытая тема (нет новых ответов) Англоязычный SEO-копирайтинг от $3/100 слов от NeedmyLink | Первая статья бесплатно
2 Needmylink1 976 25.3.2024, 21:22
автор: Needmylink1
Открытая тема (нет новых ответов) Продвижение сайтов крауд-постами (от 0,97$ публ.)
1 toplinks 873 18.3.2024, 15:12
автор: toplinks
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыКто и зачем покупает картинки обезьян по $200 тысяч?
NFT
167 metvekot 27099 6.3.2024, 21:58
автор: Boymaster
Горячая тема (нет новых ответов) PROXY5.ru — Анонимные прокси дешево / IPv4 на 30 дней от 5$
29 sdfs 14762 22.2.2024, 15:35
автор: sdfs


 



RSS Текстовая версия Сейчас: 29.3.2024, 12:27
Дизайн