【问题标题】:How can i set session data to specific item from array [closed]如何将会话数据设置为数组中的特定项目[关闭]
【发布时间】:2014-10-29 14:59:24
【问题描述】:

这是我尝试过的:

$id = mysql_query("SELECT userid from members where username='".$gebruikersnaam."'");    
$_SESSION["id"] = (string)$id;
var_dump($_SESSION)

结果如下:

array[1] { ["id"]=> string(15) "Resource id #14"}

而不是实际的字符串值

【问题讨论】:

标签: php mysql arrays session


【解决方案1】:

mysql_query 函数返回一个资源。您需要从该资源中获取一行。这将包含您想要的数据。

$username = mysqli_real_escape_string($link, $unescapedUsername);
$result = mysqli_query($link, 'SELECT userid FROM `members` WHERE username = "' . $username . '"');
// ^ result is now a resource
$row = mysqli_fetch_assoc($result);
// ^ row now has an array
$_SESSION['id'] = $row['userid'];

正如大家所说,不要再使用mysql_*函数了。

【讨论】:

    【解决方案2】:

    用mysqli代替mysql,避免sql注入:

    $res = mysqli_query($conn, "SELECT userid from members where username='".mysqli_real_escape_string($conn, $gebruikersnaam)."'");    
    $row = mysqli_fetch_assoc($res);
    $_SESSION["id"] = (string)$row["id"];
    

    【讨论】:

      猜你喜欢
      • 2019-03-15
      • 2014-09-29
      • 1970-01-01
      • 2016-11-27
      • 1970-01-01
      • 1970-01-01
      • 2020-01-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多