我有一个问题,可能是微不足道但我无法处理它,因为我突然发现它仍然有任何错误类型:unserialize (): Error at offset 0 of 31 bytes
控制器:
public function actionHistory($id)
{
$post=Mymodel::model()->findAll('id='.$id);
if($post == null){
$error = Yii::app()->errorHandler->error;
if ($error)
$this->render('error', array('error'=>$error));
else
throw new CHttpException(404, 'Page not found.');
}
$dataProvider=new CActiveDataProvider('Mymodel',array(
'criteria'=>array(
'condition'=>'id='.$id,
'order'=>'id desc',
)
));
$this->render('history',array(
'dataProvider'=>$dataProvider,
'id'=>$id,
));
}
和我的查看文件:
<div class="view" style="float: left; width:100%;">
<b><?php echo CHtml::encode($data->getAttributeLabel('id')); ?>:</b>
<?php echo CHtml::link(CHtml::encode($data->id), array('view', 'id'=>$data->id)); ?>
<br />
<div id="old" style="width: 48%; margin: 1%; float: left; ">
<b><?php echo CHtml::encode($data->getAttributeLabel('old')); ?>:</b>
<div id="old" style="float: left; width:100%; background-color:rgba(248, 200, 178, 0.3)">
<?php
echo CHtml::encode($data->old);
?>
</div>
<br />
</div>
<div id="diff" style="width: 48%; margin: 1%; float: left; ">
<b><?php echo CHtml::encode($data->getAttributeLabel('diff')); ?>:</b>
<div id="diff" style="float: left; width:100%; background-color: rgba(210, 249, 244, 0.45);">
<?php echo CHtml::encode($data->diff); ?>
</div>
<br />
</div>
</div>
现在,$data->diff
和$data->Old
被添加到帮助序列化的数据库中,现在需要使用unserialize来显示数据,但是当它尝试始终获得error unserialize (): Error at offset 0 of 31 bytes or similar.
时
答案 0 :(得分:0)
首先在这里更改您的代码
$post=Mymodel::model()->findAll(array("condition"=>"id = $id"));
或者您可以选择
$post=Mymodel::model()->findByPk($id);
仅当您的id是数据库表中的主键时才执行此操作,否则请先执行此操作。
然后你会得到正确的价值。