【问题标题】:Write an ID into session as a variable将 ID 作为变量写入会话
【发布时间】:2010-12-15 01:00:27
【问题描述】:

我需要在会话中插入一个 ID 以供以后使用。表包含 ID、用户名和密码。 要使用以下方式获取 ID:

$sql = "SELECT id FROM members WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);

并尝试将其存储到会话中:

$_SESSION["id"] = $result;

当我尝试将 $_SESSION[id] 插入表中时,我得到的值为 0(这是我创建的默认值)。

PHP 有点新,任何帮助都会得到帮助:)

【问题讨论】:

    标签: php session


    【解决方案1】:

    您还需要获取值:

    $result=mysql_query($sql);
    $fetch =mysql_fetch_array($result);
    $_SESSION["id"] = $fetch["ID"];
    

    【讨论】:

    • 将变量 $fetch 更改为更适合您的应用程序的变量!
    【解决方案2】:

    尝试打印 $result 将不允许访问资源中的信息。

    你需要使用一个函数来访问返回的资源:

    $row = mysql_fetch_assoc($result)
    $id = $row['id'];
    

    处理结果的正确方法是首先检查它是否有任何值,即:

    if (!$result) {
        $message  = 'Invalid query: ' . mysql_error() . "\n";
        $message .= 'Whole query: ' . $query;
        die($message);
    }
    

    【讨论】:

      【解决方案3】:

      mysql_query() returns a resource on success, or FALSE on error.您需要从该结果中获取行:

      $result = mysql_query("SELECT id, name FROM mytable") or die(mysql_error());
      $row = mysql_fetch_array($result);
      if($row){ // check that there was really selected at least one row
          $_SESSION['id'] = $row['id'];
      }
      

      【讨论】:

        猜你喜欢
        • 2012-06-21
        • 2023-01-14
        • 2011-05-09
        • 2012-04-24
        • 1970-01-01
        • 2019-03-25
        • 1970-01-01
        • 2011-01-19
        相关资源
        最近更新 更多