Ticket #366 (assigned Defect)

Opened 1 month ago

Last modified 1 month ago

MySQL #1064 - "`" manquants

Reported by: aubrydev@gmail.com Assigned to: gcroes (accepted)
Priority: Blocker Milestone:
Component: DB Version: 3.0.0
Keywords: Cc:

Description

L'erreur suivante est apparue lors de l'utilisation du plugin db avec le driver pdo_mysql :

Impossible d'exécuter la requête [SELECT matable.monid, matable.monchamp1, ... FROM matable]a:0:{}42000-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 'matable' at line 1

Il semblerait que MySQL n'accepte tout simplement pas les noms de de tables sans les '`' autour. J'ai testé ma requête dans phpmyadmin en rajoutant les '`', ça a fonctionné. J'ai modifié le fichier utils/copix/dao/CopixGenerator.class.php, dans la méthode getFromClause, de partout où un nom de table est ajouté à $sqlFrom, en ajoutant les '`' autour, donc. Et cela fonctionne aussi.

Cela me semble donc être une erreur à corriger.

Attachments

Change History

10/08/08 10:08:41 changed by gcroes

  • owner set to gcroes.
  • status changed from new to assigned.

Bonjour,

pour plus de précisions, quel est le nom de la table en question ? je pense qu'il doit s'agir d'un mot réservé.....

Dans tous les cas, en effet, pour gérer ces cas la, il faudrait ajouter ces backquotes.

10/08/08 16:22:13 changed by steevanb

  • version changed from 3.0.3 to 3.0.0.
  • milestone deleted.

Les noms de table sans ` sont tout à fait autorisés dans MySQL. D'ailleurs, je crois que c'est MySQL qui autorise ce caractère pour entourer les noms de tables / champs, pour être sur que le nom soit bon (à confirmer).

Je pense comme gérald que le nom de la table est un mot réservé, tu pourrais nous montrer la requête complète ?


Add/Change #366 (MySQL #1064 - "`" manquants)