Création table Mysql + PHP

Fermé
nab13 Messages postés 54 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 18 juillet 2016 - 18 juil. 2016 à 00:36
 Utilisateur anonyme - 19 juil. 2016 à 19:55
Bonjour à tous,

J'ai un problème avec la création d'une table.

Voici la requête qui est générée dynamiquement. Quand je fais un echo j'obtiens ceci :

CREATE TEMPORARY TABLE catalogue (id_temp INT AUTO_INCREMENT PRIMARY KEY, Pays VARCHAR(500), Couleur VARCHAR(500), Contenance VARCHAR(500), Etat VARCHAR(500), Région VARCHAR(500), Millésime VARCHAR(500), Domain VARCHAR(500), categorie VARCHAR(500), nom VARCHAR(500), stock VARCHAR(500)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci

Ce qui donne le message d'erreur :

Errormessage: 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 '�gion VARCHAR(500), Millésime VARCHAR(500), Domain VARCHAR(500), categorie V' at line 1

Enfin j’exécute la requête comme suit :

$c_table=$bdd->query($req);
if (!$c_table)
{
printf("Errormessage: %s\n", $bdd->error);
echo '<br />';
}


$c_table étant la requête affichée plus haut.

Je ne sais pas si cela vient des accents pour le nom de tables, je n'arrive pas à savoir si cela est autorisé ou pas. D'ailleurs, dans le message d'erreur, l'accent de Région n'est pas convenablement affiché alors que celui de Millésime oui, et dans la requête tous les accents sont bien affichés.

Merci d'avance pour votre aide
A voir également:

1 réponse

pierre.lagoutte
19 juil. 2016 à 10:46
Bonjour,

Vous ne pouvez pas créer des varchar de plus de 255 caractères. Essayez de remplacer VARCHAR(500) par VARCHAR(255).

Cordialement,
1
Utilisateur anonyme
19 juil. 2016 à 19:55
+1 et sans accent également
0