-
Постов
8 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Загрузки
База знаний IPS Community Suite 4
База знаний IP.Board 3.x
Форумы
События
Магазин
Совместные покупки
Сообщения, опубликованные alxbelarus
-
-
9 часов назад, Morphe сказал:
Как получить идентификатор пользователя, который отправил сообщение в блок?
Мне нужно получить идентификатор автора, который публикует сообщения в разделе Execute.try { $pdo = new PDO('mysql:host=localhost;dbname=test', 'root', ''); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $chardata = $pdo->prepare('SELECT * FROM characters WHERE forum_id = ?'); $chardata->execute('Здесь нужно написать идентификатор автора сообщения.'); $row = $charveri->fetch(PDO::FETCH_ASSOC); } catch (PDOException $e) { echo 'Database Error: ' . $e->getMessage(); } catch (Exception $e) { echo 'Error: ' . $e->getMessage(); }
Не уверен что поможет, но все же 🙂
Спойлерtry { // Соединение с базой данных $pdo = new PDO('mysql:host=localhost;dbname=test', 'root', ''); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Получение текущего пользователя IPS 4 $member = \IPS\Member::loggedIn(); $userId = $member->member_id; // Выполнение запроса к базе данных $chardata = $pdo->prepare('SELECT * FROM characters WHERE forum_id = ?'); $chardata->execute([$userId]); $row = $chardata->fetch(PDO::FETCH_ASSOC); if ($row) { // Обработка данных print_r($row); } else { echo 'No data found for this user.'; } } catch (PDOException $e) { echo 'Database Error: ' . $e->getMessage(); } catch (Exception $e) { echo 'Error: ' . $e->getMessage(); }
В этом примере:
Подключение к базе данных осуществляется с использованием PDO.
Получение текущего авторизованного пользователя IPS 4 происходит через \IPS\Member::loggedIn().
member_id текущего пользователя используется для выполнения запроса к базе данных.
Этот код выполняет запрос, используя идентификатор текущего авторизованного пользователя, и выводит результаты, если они найдены. -
-
4.7 - с модулем lgslmon Полет отличный , благодарю!
-
И какая версия IPB у вас установлена? Если 3.4 то на версии PHP 5.3 должно работать отлично) Хостинги сейчас не поддерживают данную версию и говорят заказывать VPS там вы сможете понизить до нужной вам версии. Или же попробуйте следующее решение ( мало вероятно что поможет но все же ) Найдите строку 259 (и другие строки, где используется подобный синтаксис) и замените фигурные скобки на квадратные.
Пример:
// Было $variable = $array{key}; // Стало $variable = $array[key];
Если в строке 259 используется доступ к элементу строки, то замените фигурные скобки аналогично:
// Было $char = $string{0}; // Стало $char = $string[0];
Это должно устранить ошибку. Если в файле есть другие строки с таким же синтаксисом, замените их аналогичным образом.
-
Эта ошибка возникает из-за использования синтаксиса доступа к элементам массива или строки с помощью фигурных скобок {}, который больше не поддерживается в PHP 7.4 и выше. ИЗ этого следует что у вас установлена версия PHP от 7.4 Понизьте версию попробуйте до 7.3
-
Здравствуйте! Подскажите пожалуйста, на какой версии IPB лучше создавать форум? За исключением последней версии) ?) Буду благодарен за ответ!
Как подключить внешнюю базу данных Invesion Community 4.1.17
в Техническая поддержка Invision Community
Опубликовано · Изменено пользователем alxbelarus
Попробуйте так, это пример кода который подключается к внешней базе данных, получает данные и вставляет их в postContainer