Error upgrading from 3.21.4 to 4.1.0

Mehr
2 Monate 1 Woche her #193324 von wutwut
I'm in the process of upgrading Limesurvey all the way from 2.57.1 tot 4.1.0.
First i did an upgrade to the 3.21.4 version without any problems.
However when upgrading to 4.1.0 I receive the following error when upgrading the database:

CDbCommand failed executing the following SQL statement: SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect string value: '\xE3\x80\x80?</...' for column `limesurvey`.`lime_question_l10ns`.`question` at row 1903. The SQL statement executed was: INSERT INTO lime_question_l10ns (qid, question, help, language) select qid, question, help, language from lime_questions

Running :
php 7.3,
mysql Ver 15.1 Distrib 5.5.64-MariaDB, for Linux (x86_64)

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

LimeSurvey Partners
Mehr
2 Monate 1 Woche her - 2 Monate 1 Woche her #193325 von holch
The problem should be your database version. You are on 5.5 and LS 4 requires 7.x, as far as I remember. I think Joffm wrote about this in a post here.

Sorry, my mistake. The post was about PHP 7, not the database.

I'm not a LimeSurvey GmbH member. I answer at the LimeSurvey forum in my spare time. No support via private message.
Some helpful links: Manual (EN) | Question Types | Workarounds
Letzte Änderung: 2 Monate 1 Woche her von holch.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
2 Monate 1 Woche her #193326 von holch

I'm not a LimeSurvey GmbH member. I answer at the LimeSurvey forum in my spare time. No support via private message.
Some helpful links: Manual (EN) | Question Types | Workarounds

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
2 Monate 1 Woche her #193334 von DenisChenu

wutwut schrieb: Running :
php 7.3,
mysql Ver 15.1 Distrib 5.5.64-MariaDB, for Linux (x86_64)

Seems OK for me


wutwut schrieb: CDbCommand failed executing the following SQL statement: SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect string value: '\xE3\x80\x80?</...' for column `limesurvey`.`lime_question_l10ns`.`question` at row 1903. The SQL statement executed was: INSERT INTO lime_question_l10ns (qid, question, help, language) select qid, question, help, language from lime_questions


Hope you keep a backup ? if yes
it can be great if can report the issue with debug set to 2 before start upgrading, and send the complete HTML file done.

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
An error happen ? Before make a new topic : remind the Debug mode .

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
1 Monat 2 Wochen her #194475 von rustam82
I get the same error by upgrating from 3.22 to 4.1.6

"Invalid datetime format: 1366 Incorrect string value: '\xE2\x86\x94 5=...' for column `limesurv_test`.`lime_question_l10ns`.`help` at row 839."


Web server
cpsrvd 11.84.0.21
Database client version: libmysql - 5.6.43
PHP extension: mysqliDocumentation curlDocumentation mbstringDocumentation
PHP version: 7.3.6

Please help

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
1 Monat 2 Wochen her #194479 von rustam82
debug mode on 2

CDbException
CDbCommand faalde tijdens het uitvoeren van volgend SQL statement: SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect string value: '\xE2\x86\x94 5=...' for column `limesurv_test`.`lime_question_l10ns`.`help` at row 839. The SQL statement executed was: INSERT INTO lime_question_l10ns (qid, question, help, language) select qid, question, help, language from lime_questions

/home/limesurv/public_html/test/framework/db/CDbCommand.php(358)

346 {
347 if($this->_connection->enableProfiling)
348 Yii::endProfile('system.db.CDbCommand.execute('.$this->getText().$par.')','system.db.CDbCommand.execute');
349
350 $errorInfo=$e instanceof PDOException ? $e->errorInfo : null;
351 $message=$e->getMessage();
352 Yii::log(Yii::t('yii','CDbCommand::execute() failed: {error}. The SQL statement executed was: {sql}.',
353 array('{error}'=>$message, '{sql}'=>$this->getText().$par)),CLogger::LEVEL_ERROR,'system.db.CDbCommand');
354
355 if(YII_DEBUG)
356 $message.='. The SQL statement executed was: '.$this->getText().$par;
357
358 throw new CDbException(Yii::t('yii','CDbCommand failed to execute the SQL statement: {error}',
359 array('{error}'=>$message)),(int)$e->getCode(),$errorInfo);
360 }
361 }
362
363 /**
364 * Executes the SQL statement and returns query result.
365 * This method is for executing an SQL query that returns result set.
366 * @param array $params input parameters (name=>value) for the SQL execution. This is an alternative
367 * to {@link bindParam} and {@link bindValue}. If you have multiple input parameters, passing
368 * them in this way can improve the performance. Note that if you pass parameters in this way,
369 * you cannot bind parameters or values using {@link bindParam} or {@link bindValue}, and vice versa.
370 * Please also note that all values are treated as strings in this case, if you need them to be handled as
Stack Trace
#0
– /home/limesurv/public_html/test/application/helpers/update/updatedb_helper.php(2451): CDbCommand->execute()
2446 'question' => "text NOT NULL",
2447 'help' => "text",
2448 'language' => "string(20) NOT NULL"
2449 ), $options);
2450 $oDB->createCommand()->createIndex('{{idx1_question_l10ns}}', '{{question_l10ns}}', , true);
2451 $oDB->createCommand("INSERT INTO {{question_l10ns}} (qid, question, help, language) select qid, question, help, language from {{questions}}")->execute();
2452 /* questions by rename/insert */
2453 if(Yii::app()->db->schema->getTable('{{questions_update400}}')){
2454 $oDB->createCommand()->dropTable('{{questions_update400}}');
2455 }
2456 $oDB->createCommand()->renameTable('{{questions}}', '{{questions_update400}}');
#1
– /home/limesurv/public_html/test/application/helpers/update/update_helper.php(31): db_upgrade_all(359)
26 Yii::app()->loadHelper('update/updatedb');
27 if (isset($subaction) && $subaction == "yes") {
28 $header = Yii::app()->getController()->_getAdminHeader(false, true);
29 $header = preg_replace('/<###begin###>/', '', $header);
30 echo $header;
31 $result = db_upgrade_all(intval($currentDBVersion));
32 if ($result) {
33 $data =
34 '<div class="jumbotron message-box">'.
35 '<h2 class="">'.gT('Success').'</h2>'.
36 '<p class="lead">'.
#2
– /home/limesurv/public_html/test/application/controllers/admin/databaseupdate.php(40): CheckForDBUpgrades("yes")
35 public function db($continue = null)
36 {
37 Yii::app()->loadHelper("update/update");
38 $aData = $aViewUrls = [];
39 if (isset($continue) && $continue == "yes") {
40 $aViewUrls = CheckForDBUpgrades($continue);
41 $aData = false;
42 } else {
43 $aData = true;
44 $aViewUrls = CheckForDBUpgrades();
45 }
#3
unknown(0): databaseupdate->db("yes")
#4
+ /home/limesurv/public_html/test/framework/web/actions/CAction.php(109): ReflectionMethod->invokeArgs(databaseupdate, array("yes"))
#5
+ /home/limesurv/public_html/test/application/core/Survey_Common_Action.php(86): CAction->runWithParamsInternal(databaseupdate, ReflectionMethod, array("continue" => "yes", "sa" => "db"))
#6
+ /home/limesurv/public_html/test/framework/web/CController.php(308): Survey_Common_Action->runWithParams(array("continue" => "yes", "sa" => "db"))
#7
+ /home/limesurv/public_html/test/framework/web/CController.php(286): CController->runAction(databaseupdate)
#8
+ /home/limesurv/public_html/test/framework/web/CController.php(265): CController->runActionWithFilters(databaseupdate, array())
#9
+ /home/limesurv/public_html/test/application/controllers/AdminController.php(165): CController->run("databaseupdate")
#10
+ /home/limesurv/public_html/test/framework/web/CWebApplication.php(282): AdminController->run("databaseupdate")
#11
+ /home/limesurv/public_html/test/framework/web/CWebApplication.php(141): CWebApplication->runController("admin/databaseupdate/sa/db")
#12
+ /home/limesurv/public_html/test/framework/base/CApplication.php(185): CWebApplication->processRequest()
#13
+ /home/limesurv/public_html/test/index.php(195): CApplication->run()

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
1 Monat 2 Wochen her #194485 von DenisChenu

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
An error happen ? Before make a new topic : remind the Debug mode .

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Jetzt loslegen!

Melden Sie sich jetzt an, und erstellen Sie in wenigen Minuten Ihre erste Umfrage.

Account einrichten

Abonnieren Sie unseren Newsletter

Abonnieren Sie unseren Newsletter für alle Neuigkeiten rund um LimeSurvey
captcha