【问题标题】:Work with Sessions [duplicate]使用会话 [重复]
【发布时间】:2016-01-17 17:50:28
【问题描述】:

我很难理解会话。我想在会话中存储card_id,我该怎么做?

$resultSet = $mysqli->query ("SELECT value FROM card_credit 
WHERE card_id= (select distinct card_id 
                from Raw where 
                 id = (select max(b.id) from Raw as b))");

if($resultSet->num_rows != 0){

while($rows = $resultSet->fetch_assoc())
    {
        $card_id = $rows['value'];

        echo "<p>Saldo: $card_id";

【问题讨论】:

  • 使用这个 $_SESSION["card_id"] = $card_id;
  • 使用 session_start()$_SESSION[] 和 PHP 文档 php.net/manual/en/book.session.php
  • 您的示例与会话无关。唯一相关的行(答案的起点)是$card_id =

标签: php mysql sql session mysqli


【解决方案1】:

您可以在整个应用程序中使用$_SESSION。 要存储会话,您始终需要以 session_start();

开头

如果我们看看你的例子:

<?php
session_start();
$resultSet = $mysqli->query ("SELECT value FROM card_credit 
                WHERE card_id= (select distinct card_id 
                from Raw where 
                 id = (select max(b.id) from Raw as b))");

if($resultSet->num_rows != 0){

while($rows = $resultSet->fetch_assoc())
    {
        $card_id = $rows['value'];
        $_SESSION['card_id'] = $card_id; //Set session variable
        echo "<p>Saldo: $card_id";
    }

现在我们可以在另一个页面上使用这个会话变量,例如 test.php:

 <?php 
 session_start();
 echo $_SESSION['card_id']; //Echo's the id

【讨论】:

    【解决方案2】:

    试试这个代码使用session_start

    <?php
    // Start the session
    session_start();
    $resultSet = $mysqli->query ("SELECT value FROM card_credit 
    WHERE card_id= (select distinct card_id 
                    from Raw where 
                     id = (select max(b.id) from Raw as b))");
    
    if($resultSet->num_rows != 0){
    
    while($rows = $resultSet->fetch_assoc())
        {
            $card_id = $rows['value'];
    
            echo "<p>Saldo: $card_id";
            $_SESSION['card_id']=$card_id;
    ?>
    

    【讨论】:

      【解决方案3】:

      试试这个:

      <?php
          // Start the session
          session_start();
      
          $resultSet = $mysqli->query ("SELECT value FROM card_credit WHERE card_id= (select distinct card_id from Raw where id = (select max(b.id) from Raw as b))");
      
          if($resultSet->num_rows != 0){
              $card_id = $rows['value'];
              // Set session variables
              $_SESSION["card_id"] = $card_id;
              //echo "Session variables are set.";
              echo "<p>Saldo: $card_id";
          }
      ?>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-03-19
        • 2012-11-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多