首页 > 解决方案 > 如何从 php 会话中获取 mysql user_id?

问题描述

在我的代码中,我使用 $user_id = $_SESSION["USER_ID"]; 获取有效的用户 ID。如果我在 PHP 中使用 echo 函数,它会显示正确的 id,但是当我尝试在查询中使用它时,它说它是未定义的。

我正在使用 XAMPP:PHP 7.1.27、7.2.16、7.3.3 Apache 2.4.38 MariaDB 10.1.38 Perl 5.16.3 OpenSSL 1.0.2r(仅限 UNIX)phpMyAdmin 4.8.5

$user_id = $_SESSION["USER_ID"];

// Funkcija prebere oglase iz baze in vrne polje objektov

function get_oglasi(){
    global $conn;
    $query = "SELECT * FROM ads WHERE user_id= echo '$user_id'; ";
    $res = $conn->query($query);
    $oglasi = array();
    while($oglas = $res->fetch_object()){
        array_push($oglasi, $oglas);
    }
    return $oglasi;
}

我期望 $user_id = 17 的输出,但我收到未定义的错误。但是,如果我尝试<p>Opis: <?php echo $user_id;?></p>,我会得到正确的号码。

标签: phpmysql

解决方案


或者将参数传递给函数,然后您将在函数函数 get_oglasi($id) 中获取 id


推荐阅读