Как можно использовать результат SQL-запроса, выполненного в другом файле?

Каким образом можно использовать результат запроса переменной $all_search, определенной в файле global.php, повторно в mainpage.php, чтобы вывести найденные записи на печать?
  • 17 июня 2024 г. 18:11
Ответы на вопрос 3
Для использования результатов SQL-запроса, выполненного в другом файле, вам необходимо передать полученные данные из одного файла в другой. 

В вашем случае, чтобы использовать переменную $all_search, определенную в файле global.php, в файле mainpage.php, вы можете сделать следующее:

1. Сохраните результат SQL-запроса в переменную $all_search в файле global.php:

```php
// global.php
$result = mysqli_query($conn, "SELECT * FROM table_name");
$all_search = mysqli_fetch_all($result, MYSQLI_ASSOC);
```

2. Используйте функцию require_once() в файле mainpage.php для подключения файла global.php и доступа к переменной $all_search:

```php
// mainpage.php
require_once('global.php');

// Теперь переменная $all_search доступна в этом файле
print_r($all_search); // Вывод найденных записей на печать
```

Таким образом, результат SQL-запроса, выполненного в файле global.php, будет доступен для использования в файле mainpage.php.
Предпологаю что речь идет о веб бакэнде - приложении, запускаемом на веб сервере по запросу из браузера. И главное, предполагаю что используется cgi подход, когда на каждый запрос из браузера запускается отдельный процесс php (даже если это модуль веб сервера, он конечно оптимизируется до асинхронных потоков) но <b>содержимое памяти каждый раз пустое</b> . <br/> <br/> Если у тебя mainpage.php и poisk.php это разные запросы, то через глобальные переменные данные между ними не передать. <br/> <br/> Нужна какая-нибудь база данных, чем бы она не являлась, например: <br/> * хранить в специальных заголовках запроса - <a href="https://www.php.net/manual/en/function.setcookie.php" rel="nofollow">cookies</a> , эти данные как мяч будут автоматически передаваться между клиентом и сервером, т.е. все запросы от клиента будут содержать копию всех установленных cookies, до истечения их времени жизни <br/> * переменные сессии (используются cookies автоматически) <br/> сессия доступна сразу после <a href="https://www.php.net/manual/en/function.session-start.php" rel="nofollow">session_start</a> () а данные через ассоциативный массив  $_SESSION (автоматически сохраняется по окончанию скрипта, учти это при параллельных запросах), идентификатор сессии автоматически поддерживается в заголовках запроса (сессия стартует когда пользователь открывает сайт, и единая для других окон, адже после перезапуска браузера, время жизни опция cookie_lifetime) <br/> Очень часто идентификаторы сессии или специально созданное значение в ней используется как идентификатор для поиска данных в других местах (например БД) <br/> * можно использовать файлы, в которых данные хранятся в сериализованном виде, в php штатно работает var_export/eval, serialize/unserialize, json_encode/json_decode - текстовые и бинарный <a href="https://www.php.net/manual/ru/function.igbinary-serialize.php" rel="nofollow">igbinary_serialize</a> /igbinary_unserialize (очень эффективный формат) или свой собственный, по желанию <br/> * можно использовать базу данных, начиная с sqlite (размещается в файле но работа с помощью sql), настоятельно рекомендую <a href="https://www.php.net/manual/ru/book.pdo.php" rel="nofollow">PDO</a> - универсальная прослойка для работы с реляционными БД <br/> * есть еще всякие memcache, или к примеру самописный сервер данных (на сокетах и не только) но применимость - отдельный разговор <br/> <br/> p.s. есть иной подход, когда на php пишется полноценный веб сервер, принимающий http запросы (его напрямую редко пускают в интернет, обычно ставят еще какой-нибудь nginx для поддержки ssl и других тонкостей), в этом случае php приложение скорее всего - один инстанс (один процесс), который не завершается по завершению запроса, обрабатывает запросы клиентов асинхронно, в этом случае глобальные переменные будут доступны между запросами.
Прочтите внимательно <a href="https://phpfaq.ru/newbie/na_tanke" rel="nofollow">вот это.</a> <br/> После этого вам должны стать очевидны ошибки в ваших рассуждениях. <br/> <br/> <blockquote>Главный файл mainpage.php в котором использую объект XMLHttpRequest</blockquote> <br/> Не в файле mainpage.php, <b>а в браузере.</b> Никакого РНР и тем более его переменных там нет. <br/> <br/> <blockquote> мне нужно в файле mainpage.php повторно использовать результат запроса</blockquote> <br/> Не в файле mainpage.php, <b>а в браузере.</b> Никакого РНР и тем более его переменных там нет. <br/> А переменная яваскрипт с результатом запроса - есть. Вот её и используйте. <br/> <br/> <blockquote>Один global.php, в котором описана переменная: global $all_search;.</blockquote> <br/> А это, как я понимаю, просто бессмысленный файл, который можно смело удалить. Ну или только эту переменную, если там есть что-то ещё.
Похожие вопросы