Jump to content

Вытаскивание идентификатора автора в пользовательский блок

Featured Replies

Как получить идентификатор пользователя, который отправил сообщение в блок?
Мне нужно получить идентификатор автора, который публикует сообщения в разделе 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();
}

 

Link to comment
https://ipbmafia.ru/topic/27497-vytaskivanie-identifikatora-avtora-v-polzovatelskij-blok/
Share on other sites
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 текущего пользователя используется для выполнения запроса к базе данных.
Этот код выполняет запрос, используя идентификатор текущего авторизованного пользователя, и выводит результаты, если они найдены.

$connection = \IPS\Db::i( 'external', array(
    'sql_host'        => 'localhost',
    'sql_user'        => 'username',
    'sql_pass'        => 'password',
    'sql_database'    => 'database_name',
    'sql_port'        => 3306,
    'sql_socket'    => '/var/lib/mysql.sock',
    'sql_utf8mb4'    => true,
) );

 

4 hours ago, Respected said:
$connection = \IPS\Db::i( 'external', array(
    'sql_host'        => 'localhost',
    'sql_user'        => 'username',
    'sql_pass'        => 'password',
    'sql_database'    => 'database_name',
    'sql_port'        => 3306,
    'sql_socket'    => '/var/lib/mysql.sock',
    'sql_utf8mb4'    => true,
) );

 

После предоставления соединения таким образом, как я могу получить данные из этой базы данных в postContainer?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.