Помогите,пожалуйста,разобраться,целый день не могу понять ошибки. Есть проект. Его одинаковые версии лежать локально на OpenServer и на тестовом сервере. Так вот локально все работает, а на тестовом выдает ошибку при INSERT, может кто сталкивался и подскажет где копать? спасибо. скрины версий софта на сервере прилагаю.
Сама ошибка текстом
Database Exception – yii\db\Exception
Undefined offset: 1
Failed to prepare SQL: INSERT INTO `seminars`.`bg_seminar` (`seminar_tema`, `seminar_subject`, `seminar_place`, `seminar_otdel`, `seminar_db`, `seminar_de`, `seminar_belgiss`, `seminar_gosstandart`) VALUES (:qp0, :qp1, :qp2, :qp3, :qp4, :qp5, :qp6, :qp7)
↵
Caused by: yii\base\ErrorException
in /work/web/dseminar/dev/www/vendor/yiisoft/yii2/db/Command.php at line 227
$pdo = $this->db->getMasterPdo();
}
try {
$this->pdoStatement = $pdo->prepare($sql);
$this->bindPendingParams();
} catch (\Exception $e) {
$message = $e->getMessage() . "\nFailed to prepare SQL: $sql";
$errorInfo = $e instanceof \PDOException ? $e->errorInfo : null;
throw new Exception($message, $errorInfo, (int) $e->getCode(), $e);
}
}
/**
* Cancels the execution of the SQL statement.
* This method mainly sets [[pdoStatement]] to be null.
*/
public function cancel()
{
2. in /work/web/dseminar/dev/www/vendor/yiisoft/yii2/db/Command.php at line 775 – yii\db\Command::prepare(false)
3. in /work/web/dseminar/dev/www/vendor/yiisoft/yii2/db/Schema.php at line 448 – yii\db\Command::execute()
4. in /work/web/dseminar/dev/www/vendor/yiisoft/yii2/db/ActiveRecord.php at line 454 – yii\db\Schema::insert('seminars.bg_seminar', ['seminar_tema' => 'Тест2', 'seminar_subject' => '2', 'seminar_place' => 'ывываыва', 'seminar_otdel' => ['2'], ...])
5. in /work/web/dseminar/dev/www/vendor/yiisoft/yii2/db/ActiveRecord.php at line 424 – yii\db\ActiveRecord::insertInternal(null)
6. in /work/web/dseminar/dev/www/vendor/yiisoft/yii2/db/BaseActiveRecord.php at line 593 – yii\db\ActiveRecord::insert(true, null)
7. in /work/web/dseminar/dev/www/controllers/SeminarsController.php at line 93 – yii\db\BaseActiveRecord::save()
date('Y-m-d H:i:s', strtotime(Main::translateDate(
Yii::$app->request->post('Bg_seminar')['seminar_db'])));
$model->seminar_de =
date('Y-m-d H:i:s', strtotime(Main::translateDate(
Yii::$app->request->post('Bg_seminar')['seminar_de'])));
$model->save();
SeminarCreateForm::saveTags($model);
$ObjFiles->seminar_files = UploadedFile::getInstances($ObjFiles, 'seminar_files');
if($ObjFiles->seminar_files) {
8. app\controllers\SeminarsController::actionCreate()
9. in /work/web/dseminar/dev/www/vendor/yiisoft/yii2/base/InlineAction.php at line 55 – call_user_func_array([app\controllers\SeminarsController, 'actionCreate'], [])
10. in /work/web/dseminar/dev/www/vendor/yiisoft/yii2/base/Controller.php at line 151 – yii\base\InlineAction::runWithParams([])
11. in /work/web/dseminar/dev/www/vendor/yiisoft/yii2/base/Module.php at line 455 – yii\base\Controller::runAction('create', [])
12. in /work/web/dseminar/dev/www/vendor/yiisoft/yii2/web/Application.php at line 84 – yii\base\Module::runAction('seminars/create', [])
13. in /work/web/dseminar/dev/www/vendor/yiisoft/yii2/base/Application.php at line 375 – yii\web\Application::handleRequest(yii\web\Request)
14. in /work/web/dseminar/dev/www/htdocs/index.php at line 28 – yii\base\Application::run()
require(__DIR__ . '/../vendor/autoload.php');
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
$config = require(__DIR__ . '/../config/web.php');
(new yii\web\Application($config))->run();
Если возникает такая ошибка (в запросе встречается :qp0
) или подобная, то первым делом надо проверить входные параметры. Они должны быть скалярами.
Такой запрос:
$task = static::find()
->where([
'orderId' => $orderId,
'taskTypeId' => $taskTypeId,
])
->andWhere(['!=', 'taskStatus', [TaskStatus::FINISHED]])
->one();
Вызывает такую ошибку:
[yii\db\Exception] Undefined offset: 1
Failed to prepare SQL: SELECT * FROM "task" WHERE (("orderId"=:qp0) AND
("taskTypeId"=:qp1)) AND ("taskStatus" != :qp2)
В коде достаточно сложно определить, что TaskStatus::FINISHED
передается не скалярным значением, а массивом. Ошибка в [TaskStatus::FINISHED]
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть рабочее время, например с 9:00 до 18:00Есть данные, когда рабочий приступил к работе (например 30 числа в 10:00) и когда он закончил работу (например...
$akk - ответ мускула на запросОтвет верный, num_rows выдает 1