@EVOSandru6

Что означает единожды возникающая ошибка в postgres?

Добрый день, такая проблема,

На локальной машине проект на Yii работает нормально, но при переносе на хостинг единожды возникает следующая ошибка:

CDbCommand не удалось исполнить SQL-запрос: SQLSTATE[42601]: Syntax error: 7 ERROR: zero-length delimited identifier at or near """"
LINE 1: ..."t1_c13" FROM "m_users" "customer" WHERE ("customer".""=$1)
^. The SQL statement executed was: SELECT "customer"."id" AS "t1_c0", "customer"."name" AS "t1_c1", "customer"."role_id" AS "t1_c2", "customer"."email" AS "t1_c3", "customer"."password" AS "t1_c4", "customer"."contacts" AS "t1_c5", "customer"."sys_date" AS "t1_c6", "customer"."sys_date_update" AS "t1_c7", "customer"."sys_user" AS "t1_c8", "customer"."exist" AS "t1_c9", "customer"."status" AS "t1_c10", "customer"."category_id" AS "t1_c11", "customer"."photo_id" AS "t1_c12", "customer"."photo" AS "t1_c13" FROM "m_users" "customer" WHERE ("customer".""=:ypl0). Bound with :ypl0=7


После одного - двух обновлений страницы ошибка пропадает и сайт продолжает работать в штатном режиме.

Вот таблица юзера:

CREATE TABLE m_users


(
  id serial NOT NULL,
  name character varying(255),
  role_id integer NOT NULL,
  email character varying(255) NOT NULL,
  password character varying(32),
  contacts text,
  sys_date integer,
  sys_date_update integer,
  sys_user integer,
  exist smallint DEFAULT 1::smallint,
  status integer DEFAULT 1,
  category_id integer,
  photo_id integer,
  photo character varying(255),
  CONSTRAINT pk_users_id PRIMARY KEY (id),
  CONSTRAINT fk_users_roles1 FOREIGN KEY (role_id)
      REFERENCES f_roles (id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT m_users_photo_id_fkey FOREIGN KEY (photo_id)
      REFERENCES mc_photo (id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT m_users_type_person_id_fkey FOREIGN KEY (category_id)
      REFERENCES f_category_person (id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT m_users_email_key UNIQUE (email)
)


Вот модель:

<?php

class Users extends ActiveRecord
{

...

    public function tableName()
	{
		return 'm_users';
	}

	public function rules()
	{
		return
        [
			['name', 'required'],
			[['role_id', 'email'], 'required', 'on'=>['registration']],
			[['password'], 'required', 'on'=>['registration','password']],
			[['contacts'], 'required', 'on'=>['update']],
              // регистрация
            ['password', 'compare', 'compareAttribute'=>'verifyPassword', 'on'=>['registration']],
              // обновление пароля
            ['email', 'email'],
            ['email', 'unique'],
            ['newPassword', 'compare', 'compareAttribute'=>'verifyPassword', 'on'=>['password']],
			['role_id, ban, category_id, sys_date, sys_date_update, sys_user, exist', 'numerical', 'integerOnly'=>true],
			['name, email', 'length', 'max'=>255],
			['password', 'length', 'max'=>32],
			['contacts, verifyPassword, newPassword', 'safe'],
            ['verifyCode', 'captcha', 'allowEmpty'=>!CCaptcha::checkRequirements(), 'on'=>'registration'],
			['id, name, role_id, email, password, contacts, sys_date, sys_date_update, sys_user, exist', 'safe', 'on'=>'search'],

            [['photo','pictures'], 'file', 'types' => 'jpg, png, gif', 'allowEmpty' => true],

        ];
	}

	public function relations()
	{
		return
        [
           
            'role' => [self::BELONGS_TO, 'Roles', 'role_id'],
            'user' => [self::BELONGS_TO, 'Users', 'sys_user'],
            'bookmarks' => [self::MANY_MANY, 'Users', 'l_bookmarks(customer_id, driver_id)'],
            'category_person' => [self::BELONGS_TO, 'CategoryPerson', 'category_id'],
            'configs'=>[self::MANY_MANY, 'ConfigUser','l_users_22_config(id_1, id_2)'],
            'images'=>[self::MANY_MANY, 'Photo','l_users_22_photo(id_1, id_2)'],
            'offers'=>[self::HAS_MANY, 'Offers','driver_id'],
            'ban'=>[self::HAS_ONE, 'Ban','user_id'],
        ];
	}

	
	public function search()
	{
		$criteria=new CDbCriteria;

		$criteria->compare('id',$this->id);
		$criteria->compare('name',$this->name,true);
		$criteria->compare('role_id',$this->role_id);
		$criteria->compare('email',$this->email,true);
		$criteria->compare('password',$this->password,true);
		$criteria->compare('contacts',$this->contacts,true);
		$criteria->compare('sys_date',$this->sys_date);
		$criteria->compare('sys_date_update',$this->sys_date_update);
		$criteria->compare('sys_user',$this->sys_user);
		$criteria->compare('exist',$this->exist);

        $criteria->condition = 'exist != 2';

        return new CActiveDataProvider($this,
            [
                'criteria'=>$criteria,
                'pagination'=>array('pageSize'=>100),
            ]);
	}

	public static function model($className=__CLASS__)
	{
		return parent::model($className);
	}
}


Куда копать?
  • Вопрос задан
  • 974 просмотра
Пригласить эксперта
Ответы на вопрос 1
Demetriy
@Demetriy
веб и мобильная разработка
FROM "m_users" "customer"


По-моему, тут потерялась запятая.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы