Как правильно выполнить запрос к базе данных

Tesessssss

Новичок
Ребят, я дочитался мануалов, что удалил базу на сайте)))
Не могу разобраться с mysqli_query
Есть такой старый код, который мне подходит, но не работает с версии PHP 7.2:
PHP:
global $wpdb, $table_prefix;

$prefix = $wpdb->get_blog_prefix();

define( 'TABLE_USERS', $prefix .'users' );
define( 'TABLE_USER_ONLINE', $prefix .'users_session' );

function update_user_online() {
    global $user_id;
    wp_get_current_user();

    $user_id           = '';
    $full_name       = 'User';
    $session           = session_id();
    $ip                    = getenv( 'REMOTE_ADDR' );
    $last_page_url  = getenv( 'REQUEST_URI' );
    $current_time   = time();
    $mins_ago        = $current_time - 300;

    // <---- Warning: mysqli_query() expects at least 2 parameters, 1 given
    mysqli_query("delete from " . TABLE_USER_ONLINE . " where time_last_click < '" . $mins_ago . "'");

    // <---- Warning: mysqli_query() expects at least 2 parameters, 1 given
    $stored_user_query = mysqli_query( "select count(*) as count from ". TABLE_USER_ONLINE ." where session_id = '". esc_sql( $session ) ."'" );

    // <----- Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given
    $stored_user = mysqli_fetch_array( $stored_user_query );

    if ( $stored_user['count'] > 0 ) {
        // <---- Warning: mysqli_query() expects at least 2 parameters, 1 given in
        mysqli_query( "update ". TABLE_USER_ONLINE ." set user_id = '". (int)$user_id ."', full_name = '". esc_sql( $full_name ) ."', ip_address = '". esc_sql( $ip ) . "', time_last = '". esc_sql( $current_time ) ."', last_page_url = '". esc_sql( $last_page_url ) ."' where session_id = '". esc_sql( $session ) ."'");
    } else {
        // <----- mysqli_query() expects at least 2 parameters, 1 given
        mysqli_query( "insert into ". TABLE_USER_ONLINE ." (user_id, full_name, session_id, ip_address, time_entry, time_last, last_page_url) values ( '". (int)$user_id ."', '". esc_sql( $full_name ) ."', '". esc_sql( $session ) ."', '". esc_sql( $ip ) ."', '". esc_sql( $current_time ) ."', '". esc_sql( $current_time ) ."', '" . esc_sql( $last_page_url ) ."' )" );
    }
}
Насколько смог, я исправил ошибки, но не могу разобраться с mysqli_query и mysqli_fetch_array
Помогите по полочкам исправить ошибки, возможно вместо них использовать нужно $wpdb
 

Tesessssss

Новичок
Это же вордпресс?
Да, надо использовать wpdb.
Вот так:
https://codex.wordpress.org/Class_Reference/wpdb
Обрати особое внимание на метод prepare.
Да вордпресс.
Я вначале пытался исправить необходимые параметры, после стал пробовать wpdb и неправильно составил вызов, после которого из бд были удалены данные.
Не связывался с запросами к бд, поэтому и не знаю, как правильно было.
 

fixxxer

К.О.
Партнер клуба
Ну раз вордпресс - то правильно так, как написано в его мануале. Я ссылку выше дал.
 
Сверху