Encodage
bonjour,
Ma requete mysql fonctionne sous phpmyadmin.
mais quand je l'execute depuis un script php elle genere une erreur de syntaxe???
-----------------------------
$sql="drop table if exists `tabletest`;
CREATE TABLE `tabletest` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`champ` varchar(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8";
$res = mysqli_query($dbLink[0],$sql);
echo "<hr><pre>".mysqli_error( $dbLink[0] );
------------------------------------------
je suis sous kate...
Ma requete mysql fonctionne sous phpmyadmin.
mais quand je l'execute depuis un script php elle genere une erreur de syntaxe???
-----------------------------
$sql="drop table if exists `tabletest`;
CREATE TABLE `tabletest` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`champ` varchar(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8";
$res = mysqli_query($dbLink[0],$sql);
echo "<hr><pre>".mysqli_error( $dbLink[0] );
------------------------------------------
je suis sous kate...
2 réponses
-
Contributeurbonjour, le message d'erreur ne contient-il aucun détail utile?
il s'agit en fait de deux requêtes SQL, séparées par un ";".
as-tu essayé d'exécuter la première puis la seconde?
il est possible que phpmyadmin accepte de recevoir plusieurs requêtes, tandis que mysqli n'en veuille qu'une à la fois. -
c juste,
j'ai donc testé uniquement:
$sql="
CREATE TABLE `tabletest` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`champ` varchar(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8";
mais il me retourne encore une erreur de syntaxe. alors que le "copié collé" fonctionne dans pma.
Je n'avais pas ce bug sous windows (+notepad++). Cela ne m'étonnerais pas que ça vienne de l'encodage et des "`" guillemets américains, et/ou de l'utf8....de kate
d'autres propositions?-
-
@yg_beTROUVé MERCI.
C bien ça, si il y a deux requetes il ne les prend pas et genere une erreur de syntaxe.Le drop table et create table doivent être dans deux mysqli_query différentes.
L'encodage et les guillemets n'ont pas d'incidence dans ce cas la.
Merci de ton interet.
Il me semblait pourtant que dans le cas des "insert" il peut prendre plusieurs requetes à la suite séparé par des ; dans une même query, à vérifier....mais j'ai du me tromper.
xcv -
Contributeur@popup421parfait. peux-tu marquer comme résolu?
-