Bug PHP ?

WRInaute passionné
Bonjour,

Une requête valide, tester en dur ne fonctionne pas via un query en PHP.
J'ai essayé de chercher plein, plein, plein de causes possibles pour en venir à renommer la table, bingo !

Le nom de table "coitoie" pose problème, avec "ami' plus de soucis, ni avec "coitoiee" d'ailleurs.
Etrange, pourquoi ce mot est-il bloquant ?
> Cela ne vient pas du "prepare" puisqu'en "$oPDO->query" direct ça ne fonctionne pas non plus.
> Cela ne vient pas de PDO puisqu'avec un autre connecteur "mysqli", même problème.
> Il ne fait pas partie des mots clés réservés par MySQL http://dev.mysql.com/doc/refman/5.0/fr/reserved-words.html et de toute façon cela fonctionne en SQL pur via phpmyadmin.

Est-ce lié à l'OS : windows 7 ultimate 64bits
Est-ce lié à WAMP : wampserver 2.1e

Avez-vous ce problème (pour ceux qui auraient le courage de tester) ?
En connaissez-vous la cause ?

Merci,
Dorian
 
WRInaute accro
Tu nous donnerais le code ou au moins la requête, et surtout le message d'erreur obtenu, ça pourrait beaucoup aider...

Jacques.
 
WRInaute passionné
Ah oui pardon, en plus il y a une grosse erreur dans le topic : "cotoie" et non "coitoie".

Un simple "INSERT INTO cotoie..." ne fonctionne pas.
 
WRInaute accro
Et l'erreur obtenue est?

Je suppose évidemment que tu as bien tablé "cotoie" et pas "côtoie" :) Tu as essayé de le mettre entre back-quotes (`)?

Jacques.
 
WRInaute passionné
Ecrit en minuscule sans caractère spécial.

Même problème avec back-quotes (`) :
Code:
INSERT INTO `cotoie`...

OK pour :
Code:
INSERT INTO `cotoiee`...

Incompréhensible.
 
WRInaute passionné
jcaron a dit:
Tu ne nous as toujours pas donné le message d'erreur que tu obtiens...

Jacques.

Code:
array
  0 => string '23000' (length=5)
  1 => int 1062
  2 => string 'Duplicate entry '1-2' for key 'PRIMARY'' (length=39)

Je peux vous assurer que la table est vide.
Elle a été supprimée, recrée, changée de version de WAMP, etc...
 
WRInaute passionné
Pas de soucis sur une debian + PHP Version 5.2.6 + MySQL 5.0.51a.

Mon WAMP tourne sur une version PHP 5.3.5 + MySQL 5.5.8 sous Windows 7.
Un autre WAMP testé avec PHP 5.3.4 + MySQL 5.1.53 sous Windows 7.

Est-ce que ça pourrait être PHP 5.3 ?
PHP Windows ?
WAMP ?

Je ne sais pas... je n'ai pas de PHP 5.3 sous une distrib linux.
 
WRInaute accro
Ce ne serait pas un truc genre ta requête est exécutée deux fois avec la même clef, et donc la deuxième fois kaboom? Ou un truc idiot genre tu n'es pas connecté à la bonne base?

Ajoute des traces autour de la requête SQL (avant, après), avec le plus de détails possibles (requête exacte, paramètres, statut, etc.) et regarde ce qui se passe réellement, ça peut aider...

Je suppose que le "1-2" est bien la valeur que tu insères?

Jacques.
 
Discussions similaires
Haut