【发布时间】:2011-12-21 09:43:56
【问题描述】:
try {
if (isset($_SESSION['list']) > 0) {
$test = serialize($_SESSION["list"]);
$sQuery = "INSERT INTO table (id, date) VALUES ('$test', NOW())";
$oStmt = $db->prepare($sQuery);
$oStmt->execute();
}
else {
echo 'No data';
}
}
在我的数据库中,我看到了这个:
1 a:1:{i:1;s:1:"5";} 2011-12-21
$_SESSION['list'] 存储 ID 和 QUANTITY。
数据a:1:{i:1;s:1:"5";}如下:i=id, s=id:"quantity",我读这个为id=1,数量id=1 是 5,对吗?
现在我想选择数据并反序列化数组。
try {
$sQuery = "SELECT * FROM table";
$oStmt = $db->prepare($sQuery);
$oStmt->execute();
while($aRow = $oStmt->fetchALL(PDO::FETCH_ASSOC)) {
$id = unserialize($aRow['id']);
foreach($id as $id => $quantity) {
echo $id.', ';
}
}
}
catch(PDOException $e) {
$sMsg = '<p>
Regelnummer: '.$e->getLine().'<br />
Bestand: '.$e->getFile().'<br />
Foutmelding: '.$e->getMessage().'
</p>';
trigger_error($sMsg);
}
我做错了什么或者我该怎么做才能从数据库中选择 ID 和 QUANTITY?
【问题讨论】: