Внезапная ошибка синтаксиса SQL после 1+ лет работы - без обновления - PullRequest
0 голосов
/ 28 сентября 2018

В течение 1 года программное обеспечение моей компании работало просто отлично.Внезапно это происходит (и стоит нам много головной боли и денег):

    PHP Fatal error:  Uncaught exception 'PDOException' with message
'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in 
your SQL syntax; check the manual that corresponds to your MySQL server version 
for the right syntax to use near 'get FROM Acompanhamento WHERE alunoid = '2767' 
and excluido = 0 ORDER BY data de' at line 1' in /.../dao/DboObject.php:27

Трассировка стека:

#0 /.../DboObject.php(27): PDOStatement->execute(Array)
#1 /.../AcompanhamentoAlunoDao.php(24): DboObject->select('SELECT id, peso...', Array)
#2 /.../AcompanhamentoAlunoBo.php(19): AcompanhamentoAlunoDao->select('alunoid = ? and...', Array)
#3 /.../ficha_de_acompanhamento.php(38): AcompanhamentoAlunoBo->getAcompanhamentoByAluno('2767')
#4 {main}
  thrown in /.../DboObject.php on line 27

Код в файлах, упомянутых в стеке (строкиэто начало и конец с ** являются точными, упомянутыми в трассировке стека, и я добавил, что теперь вы, ребята, видите):

DboObject.php:

public function select($sql='',$args){
        $this->query = $this->pdo->prepare($sql);
        **$this->query->execute($args);**
        $this->result = $this->query->fetchAll(PDO::FETCH_OBJ);
    }

AcompanhamentoAlunoDao.php:

parent::select($sql, $args);

AcompanhamentoAlunoBo.php:

public function getAcompanhamentoByAluno($alunoId,$campo=null){
        **$query = "alunoid = ? and excluido = 0 ";**
        if(!is_null($campo)){
            $query.= "and ".$campo." is not null ";
        }

ficha_de_acompanhamento.php:

$acompanhamento = $acompanhamentoAlunoBo->getAcompanhamentoByAluno($AlunoId);

Что странно, что это работало более года, и я могуне вижу в этом ничего плохого.Как это может иметь синтаксическую ошибку из ниоткуда?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...