Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 非法字符串偏移量';id';_Php_Session - Fatal编程技术网

Php 非法字符串偏移量';id';

Php 非法字符串偏移量';id';,php,session,Php,Session,我在我的网站上的登录系统中工作,我被卡住了。 这是我的密码 if(!empty($_SESSION['pseudo'])) { $pseudo = Securise($_SESSION['pseudo']); try { $sql = $DB->query("SELECT * FROM users WHERE pseudo = '".$pseudo."' LIMIT 1"); }catch (

我在我的网站上的登录系统中工作,我被卡住了。 这是我的密码

if(!empty($_SESSION['pseudo']))
    {
        $pseudo = Securise($_SESSION['pseudo']);
        try
        {
            $sql = $DB->query("SELECT * FROM users WHERE pseudo = '".$pseudo."' LIMIT 1");

        }catch (Exception $e){
            die('Error: ' . $e->getMessage());
        }
        $row_count = $sql->rowCount();

        if($row_count > 0)
            {
                $req = $DB->query("SELECT * FROM users WHERE pseudo = '".$pseudo."' LIMIT 1");
                $user = $req->fetchColumn();
                $up = $DB->query("UPDATE users SET last_ip = '".$_SERVER["REMOTE_ADDR"]."' WHERE id = '".$user['id']."'");
            }
            else {
            session_destroy();
            Redirect("".$lien."");
            exit();
            }
    }
我在下面一行得到一个错误

$up = $DB->query("UPDATE users SET last_ip = '".$_SERVER["REMOTE_ADDR"]."' WHERE id = '".$user['id']."'");
我不明白为什么Php会给我一个 “警告:非法字符串偏移量'id'”

,不是数组,因此不能像关联数组一样访问它

如果
id
是您的第一列,您可以使用
$user
而不是
$user['id']
。请注意,
SELECT*
通常不是一个好主意,因为如果您依赖于特定列的特定顺序,那么对数据库的更改很容易破坏应用程序逻辑。

更改此行:

$user = $req->fetchColumn();
致:

然后,您可以通过以下方式获取用户id:

$user['id']

删除
$user['id']
次要挑剔前后的单引号:您可以基于数字偏移量访问字符串,但它不会满足OP的要求;添加了澄清(“类似于关联数组”)。
$user['id']