我有一个yii2应用程序,该应用程序运行正常,但现在只有一页无法正常工作,并显示PDO异常错误。
我尝试更改有备份的数据库,但不会产生结果。
我的控制器页面代码是:
public function actionBoxedmainscreen() {
if (Yii::$app->user->isGuest) {
return $this->redirect([Yii::$app->homeUrl, 'loginmessage'=>'Access denied : Main Boxed Screen']);
}
if (isset($_GET['width'])) {
Yii::$app->session->set("width", $_GET['width']);
Yii::$app->session->set("height", $_GET['height']);
}
$this->layout = 'mainscreen';
$channels = Yii::$app->session->get('noOfChannels');
$noOfChannels = ($channels != null) ? $channels : 32;
$channels = \app\models\Channels::findBySql('Call GetWebChannels()')->all();
$screenadjust = models\Displaysettingweb::findBySql('Select * from displaysettingweb where maxchannel >='.$noOfChannels.' and minchannel<='.$noOfChannels)->one();
$coloursettings = models\Coloursetting::find()->one();
$RowsColumn = $this->getRowandColumns($noOfChannels);
return $this->render('boxedmainscreen', ['width'=>Yii::$app->session->get('width'), 'height'=>Yii::$app->session->get('height'), 'rows'=>$RowsColumn['rows'], 'columns'=>$RowsColumn['columns'],'noOfChannels'=>$noOfChannels, 'screensettings'=>$screenadjust, 'channels'=>$channels,'coloursettings'=>$coloursettings]);
}
我希望页面能够显示,但显示为
SQLSTATE [42000]:语法错误或访问冲突:1305过程 datalogger.GetWebChannels不存在
正在执行的SQL是:调用GetWebChannels()
答案 0 :(得分:0)
这取决于您如何从旧数据库中获取备份,所使用的不导出过程的方法尝试使用mysqldump尝试另一个备份
mysqldump
将默认备份所有触发器,但不备份存储过程/函数。有2个mysqldump参数可控制此行为:
--routines – FALSE by default
--triggers – TRUE by default
因此在mysqldump命令中,添加--routines,如:
mysqldump <other mysqldump options> --routines > output.sql