PHP:如果我将$ _SESSION ['userid']用作标识符,是否存在安全问题?

我有一个登录系统。当用户登录时,将用户数据存储在$ _SESSION变量(id,用户名...)中,如下所示(login.php):

$sql = 'SELECT * FROM users WHERE username = :username';
$statement = $con->prepare($sql);
$result = $statement->execute(array('username' => $username));
$userdata = $statement->fetch();
$hashedPassword = json_encode($userdata['password']);

//check password
if ($result && password_verify($password, $userdata['password'])) {
session_regenerate_id();
$_SESSION['loggedIn'] = true;
$_SESSION['username'] = $username;
$_SESSION['id'] = $userdata['id'];
echo $_SESSION['id'];
echo 'true';
} else {
exit('false');
}
}else{
    exit('false');
}

现在我的问题是:当我将这些数据用作可信赖的数据时,这是否是一个安全问题,可能像这样:

INSERT INTO userRelatedTable (userId,data1,data2) VALUES ($_SESSION['userid'] (<= !!!) ,'data1','data2')

换句话说:当我说session_start()时,php是否处理安全性部分?使用会话密钥,还是我必须自己生成一个密钥,存储它并用作标识符?

问候