View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
07852 | Bug reports | Survey editing | public | 2013-05-20 15:54 | 2013-07-22 14:48 |
Reporter | xamarshahx | Assigned To | c_schmitz | ||
Priority | normal | Severity | partial_block | ||
Status | closed | Resolution | fixed | ||
Product Version | 2.00+ | ||||
Fixed in Version | 2.00+ | ||||
Summary | 07852: CDbCommand failed to execute the SQL statement: SQLSTATE[42S02]: Base table or view not found | ||||
Description | I get this error when deactivating a survey.Internal Server Error CDbCommand failed to execute the SQL statement: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'db469338625.surv_survey_535478' doesn't exist An internal error occurred while the Web server was processing your request. Please contact the webmaster to report this problem. Thank you. 2013-05-20 09:46:25I am using 1and1 hosting. I had to make this change to make it work on 1and1. http://www.limesurvey.org/en/forum/installation-a-update-issues/92001-limesurvey-2-and-1and1-hostingI was having the same issue and after an hour of hacking around in the code I have found what you need to do. Open application/controllers/InstallerController.php and around line 1108 in the _getDsn function you will find this: $dsn = "mysql:host={$sDatabaseLocation};port={$sDatabasePort};dbname={$sDatabaseName};" Change to this:
| ||||
Steps To Reproduce | Activate > Deactivate. | ||||
Tags | No tags attached. | ||||
Attached Files | debug.html (5,824 bytes)
CDbException CDbCommand failed to execute the SQL statement: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'db469338625.surv_survey_535478' doesn't exist. The SQL statement executed was: SELECT id FROM `surv_survey_535478` ORDER BY id desc /homepages/0/d139913501/htdocs/acarev3/jupgrade/survey2/framework/db/CDbCommand.php(528) 516 return $result; 517 } 518 catch(Exception $e) 519 { 520 if($this->_connection->enableProfiling) 521 Yii::endProfile('system.db.CDbCommand.query('.$this->getText().$par.')','system.db.CDbCommand.query'); 522 $errorInfo = $e instanceof PDOException ? $e->errorInfo : null; 523 $message = $e->getMessage(); 524 Yii::log(Yii::t('yii','CDbCommand::{method}() failed: {error}. The SQL statement executed was: {sql}.', 525 array('{method}'=>$method, '{error}'=>$message, '{sql}'=>$this->getText().$par)),CLogger::LEVEL_ERROR,'system.db.CDbCommand'); 526 if(YII_DEBUG) 527 $message .= '. The SQL statement executed was: '.$this->getText().$par; 528 throw new CDbException(Yii::t('yii','CDbCommand failed to execute the SQL statement: {error}', 529 array('{error}'=>$message)),(int)$e->getCode(),$errorInfo); 530 } 531 } 532 533 /** 534 * Builds a SQL SELECT statement from the given query specification. 535 * @param array $query the query specification in name-value pairs. The following 536 * query options are supported: {@link select}, {@link distinct}, {@link from}, 537 * {@link where}, {@link join}, {@link group}, {@link having}, {@link order}, 538 * {@link limit}, {@link offset} and {@link union}. 539 * @return string the SQL statement 540 * @since 1.1.6 Stack Trace #0 + /homepages/0/d139913501/htdocs/acarev3/jupgrade/survey2/framework/db/CDbCommand.php(425): CDbCommand->queryInternal("fetchColumn", 0, array()) #1 � /homepages/0/d139913501/htdocs/acarev3/jupgrade/survey2/application/controllers/admin/surveyadmin.php(361): CDbCommand->queryScalar() 356 $sNewSurveyTableName = Yii::app()->db->tablePrefix."old_survey_{$iSurveyID}_{$date}"; 357 $aData['sNewSurveyTableName']=$sNewSurveyTableName; 358 //Update the autonumber_start in the survey properties 359 $new_autonumber_start = 0; 360 $query = "SELECT id FROM ".Yii::app()->db->quoteTableName($sOldSurveyTableName)." ORDER BY id desc"; 361 $sLastID = Yii::app()->db->createCommand($query)->limit(1)->queryScalar(); 362 $new_autonumber_start = $sLastID + 1; 363 $insertdata = array('autonumber_start' => $new_autonumber_start); 364 $survey = Survey::model()->findByAttributes(array('sid' => $iSurveyID)); 365 $survey->autonumber_start = $new_autonumber_start; 366 $survey->save(); #2 unknown(0): SurveyAdmin->deactivate("535478") #3 + /homepages/0/d139913501/htdocs/acarev3/jupgrade/survey2/framework/web/actions/CAction.php(107): ReflectionMethod->invokeArgs(SurveyAdmin, array("535478")) #4 � /homepages/0/d139913501/htdocs/acarev3/jupgrade/survey2/application/core/Survey_Common_Action.php(100): CAction->runWithParamsInternal(SurveyAdmin, ReflectionMethod, array("surveyid" => "535478", "sa" => "deactivate", "iSurveyId" => "535478", "iSurveyID" => "535478")) 095 $oMethod = new ReflectionMethod($this, $sDefault); 096 } 097 098 // We're all good to go, let's execute it 099 // runWithParamsInternal would automatically get the parameters of the method and populate them as required with the params 100 return parent::runWithParamsInternal($this, $oMethod, $params); 101 } 102 103 /** 104 * Some functions have different parameters, which are just an alias of the 105 * usual parameters we're getting in the url. This function just populates #5 + /homepages/0/d139913501/htdocs/acarev3/jupgrade/survey2/framework/web/CController.php(309): Survey_Common_Action->runWithParams(array("surveyid" => "535478", "sa" => "deactivate")) #6 + /homepages/0/d139913501/htdocs/acarev3/jupgrade/survey2/framework/web/CController.php(287): CController->runAction(SurveyAdmin) #7 + /homepages/0/d139913501/htdocs/acarev3/jupgrade/survey2/framework/web/CController.php(266): CController->runActionWithFilters(SurveyAdmin, array()) #8 � /homepages/0/d139913501/htdocs/acarev3/jupgrade/survey2/application/controllers/AdminController.php(170): CController->run("survey") 165 $this->redirect($this->createUrl('/admin/authentication/sa/login')); 166 } 167 168 } 169 170 return parent::run($action); 171 } 172 173 /** 174 * Routes all the actions to their respective places 175 * #9 + /homepages/0/d139913501/htdocs/acarev3/jupgrade/survey2/framework/web/CWebApplication.php(276): AdminController->run("survey") #10 + /homepages/0/d139913501/htdocs/acarev3/jupgrade/survey2/framework/web/CWebApplication.php(135): CWebApplication->runController("admin/survey/sa/deactivate") #11 + /homepages/0/d139913501/htdocs/acarev3/jupgrade/survey2/framework/base/CApplication.php(162): CWebApplication->processRequest() #12 + /homepages/0/d139913501/htdocs/acarev3/jupgrade/survey2/index.php(178): CApplication->run() 2013-06-05 14:05:20 Apache Yii Framework/1.1.10 | ||||
Bug heat | 6 | ||||
Complete LimeSurvey version number (& build) | 130514 | ||||
I will donate to the project if issue is resolved | No | ||||
Browser | Both, IE and Firefox | ||||
Database type & version | 5.2 | ||||
Server OS (if known) | Linux | ||||
Webserver software & version (if known) | N/A | ||||
PHP Version | 5.4.15 | ||||
So it seems it started working in Firefox, but in IE I still get the same error even after clearing out my cache. I am going to try from another Pc and then report my results. |
|
Please update to the latest build, activate debug mode in /application/config/config.php and attach the resulting detailed error dump as HTML file to this issue. Thanky you. |
|
I also got this error. It happens when you're in the admin mode for a particular survey and deactivate from there. It seems that the application is trying to access the database table that is renamed to become "old". However, deactivating works in the overall view when you are not actively administrating the survey. It seems that even with the error, the survey is actually disabled. You just need to go back to the admin home page. Hope this helps narrow down the issue a bit. |
|
Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&id=12590 |
|
2.00+ Build 130708 released. |
|
Fix committed to 2.05 branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&id=12762 |
|
LimeSurvey: master a3d2eb93 2013-06-14 15:16 Details Diff |
Fixed issue 07852: Cryptic error when survey is deactivated twice |
Affected Issues 07852 |
|
mod - application/controllers/admin/surveyadmin.php | Diff File | ||
LimeSurvey: 2.05 d75291aa 2013-06-14 15:16 Details Diff |
Fixed issue 07852: Cryptic error when survey is deactivated twice |
Affected Issues 07852 |
|
mod - application/controllers/admin/surveyadmin.php | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2013-05-20 15:54 | xamarshahx | New Issue | |
2013-05-20 16:10 | xamarshahx | Note Added: 25310 | |
2013-05-27 02:18 | c_schmitz | Note Added: 25392 | |
2013-05-27 02:18 | c_schmitz | Assigned To | => c_schmitz |
2013-05-27 02:18 | c_schmitz | Status | new => feedback |
2013-05-29 15:21 | DenisChenu | Relationship added | related to 07807 |
2013-05-31 17:25 | crazydw99 | Note Added: 25439 | |
2013-06-05 20:06 | xamarshahx | File Added: debug.html | |
2013-06-14 15:15 | c_schmitz | Changeset attached | => LimeSurvey master a3d2eb93 |
2013-06-14 15:15 | c_schmitz | Note Added: 25533 | |
2013-06-14 15:15 | c_schmitz | Resolution | open => fixed |
2013-06-14 15:16 | c_schmitz | Status | feedback => resolved |
2013-06-14 15:16 | c_schmitz | Fixed in Version | => 2.00+ |
2013-07-08 13:50 | c_schmitz | Note Added: 25732 | |
2013-07-08 13:50 | c_schmitz | Status | resolved => closed |
2013-07-22 14:48 | c_schmitz | Changeset attached | => LimeSurvey 2.05 d75291aa |
2013-07-22 14:48 | c_schmitz | Note Added: 25837 | |
2019-11-01 17:25 | c_schmitz | Category | Survey design => Survey editing |