如何在PHP数据库中存储PHP中的会话数组变量?

时间:2015-02-27 05:59:55

标签: php mysql arrays session

我遇到会话数组变量

的问题
$_SESSION ['roomsInfo_' . $intHId] = $strRTypeArr; 

使用<form action=”booking_level.php”>

时,它会在另一页上登陆时自动销毁
foreach ( $arrRoomInfo as $arrRoomDetails ) {
                    // occup details
                    $AdultNum = ( int ) $arrRoomDetails->AdultNum;
                    $ChildNum = ( int ) $arrRoomDetails->ChildNum;

                        // child ages details
                        $strChAgs = '';
                        if (property_exists ( $arrRoomDetails, 'ChildAges' )) {
                            $childAgs = $arrRoomDetails->ChildAges->ChildAge;

                            $arrChAge = array ();
                            foreach ( $childAgs as $chAgs ) {
                                $chAgs = $chAgs->attributes ();
                                $arrChAge [] = $chAgs ['age'];
                            }
                            $strChAgs = implode ( ":", $arrChAge );
                        }

                        // set array for all the above details
                        $strRTypeArr [$rtId] [$i] = array (
                                'myRoomSq' => $i,
                                'roomSeq' => $arrRmSeq,
                                'adults' => $AdultNum,
                                'child' => $ChildNum,
                                'childAges' => $strChAgs,
                                'maxGuests' => $maxGuests,
                                'maxChild' => $maxChild,
                                'name' => $rmName,
                                'HotelRoomTypeId' => $rtId,
                                'roomId' => $roomId,
                                'isPublish' => $isPublish,
                                'Occupancy' => array (
                                        "attributes" => array (
                                                'avrNgtlyRtComm' => $avrNgtlyRtComm,
                                                'avrNightPrice' => $avrNtPr,
                                                'bedding' => $bedding 
                                        ),
                                        "boardBase" => array (
                                                'bbId' => $arrBrdBsId,
                                                'bbName' => $arrBrdBsName,
                                                'bbPrice' => $arrBrdBsPrice,
                                                'bbPublishPrice' => $arrBrdBspBPrce,
                                                'strBBaseExists' => $strBBaseExists 
                                        ),
                                        'PriceBreakdown' => $arrDay,
                                        "dblBrDownPrTourico" => $dblBrDownPrTourico,
                                        "dblTtlBrDownPr" => $dblTtlBrDownPr,
                                        'Supplements' => $arrSupp 
                                ),
                                'Discount' => $arrDst,
                                'cancelPolicy' => $strCnlionHtml,
                                'arrCanPolicy' => $arrCanPolicy,
                                'arrChcrCanPolicy' => $arrChcrCanPolicy,
                                'chcr_cancelPolicy' => $chcrCancellation,
                                'curncy' => $strCurn 
                        );
                        $i ++;
                    }
                }
            }
        }
        $_SESSION ['roomsInfo_' . $intHId] = $strRTypeArr;

如何在MySQL数据库中存储会话数组变量?

2 个答案:

答案 0 :(得分:0)

只需确保以指定正常值的方式分配数组,然后将数组存储在数据库中。

$_SESSION['dArray'] = $strRTypeArr;


//for example:
$strRTypeArr[0][0] = array (
    'myRoomSq' => 2.5,
    'roomSeq' => "test this",
    'adults' => true,
    'child' => 5,
    'childAges' => "test"
);

$strRTypeArr[0][1] = array (
    'myRoomSq' => 3.5,
    'roomSeq' => "this is another test",
    'adults' => false,
    'child' => 6,
    'childAges' => "test"
);

$_SESSION['dArray'] = $strRTypeArr; 
echo "<pre>";
print_r($_SESSION['dArray']);
echo "</pre>";

//Store this $_SESSION['dArray']  in your database

答案 1 :(得分:0)

你也可以使用json_encode($ _ SESSION [&#39; dArray&#39;]);将数组存储在数据库中。