Я создал временную таблицу в одном php-файле и хочу получить к ней доступ в другом php-файле. Сценарии запускаются последовательно. Я использовал mysqli и предпочитаю p: имя хоста.
Проблема в моем втором файле php, я не могу получить доступ к моей временной таблице. Поэтому я хотел знать, возможно ли это сделать или нет? И если да, то как? Использую WAMP сервер.
Не возможно, напрямую. Временные таблицы уничтожаются, когда соединение, используемое для их установления, закрывается. Когда ваш скрипт «create» завершает работу, его соединение с БД закрывается, и mysql очищает, включая уничтожение этой временной таблицы.
Это означает, что когда запускается ваш скрипт «use», он получает новое соединение без каких-либо вещей, которые сделал первый скрипт.
В PHP есть постоянные соединения, но эти соединения существуют в пуле, и нет никакого контроля над тем, КАКОЕ соединение какие-либо конкретные сценарии получают из этого пула. Вам может повезти и вы получите одно и то же соединение для двух разных скриптов, но это чисто случайно.
Вам понадобится ДРУГОЙ 3-й скрипт, который работает непрерывно, чтобы держать соединение mysql открытым, оставляя временную таблицу на месте. И ваши два других сценария будут общаться с этим третьим.
От http://php.net/manual/en/mysqli.persistconns.php
Постоянное соединение расширения mysqli, однако, предоставляет встроенный код обработки очистки. Очистка, проводимая mysqli, включает в себя:
(стоит прочитать и другие вещи, но важная часть)
- Закрыть и удалить временные таблицы
Короче говоря, временная таблица — это просто временная таблица. Он не предназначен для использования в других целях, кроме временного хранения некоторых данных для одной конкретной операции. Если вы хотите более постоянную вещь, подумайте об использовании конкретной таблицы с механизмом хранения памяти.