Encodage

popup421 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
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...

2 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, 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.
0
popup421 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
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?
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
le message d'erreur ne contient-il toujours aucun détail utile? pourquoi ne pas le partager?
et ainsi:
$sql=" CREATE TABLE tabletest ( 
id int(11) NOT NULL AUTO_INCREMENT, 
champ varchar(10) DEFAULT NULL, 
PRIMARY KEY (id) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8"; 
0
popup421 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
TROUVé 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
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > popup421 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
parfait. peux-tu marquer comme résolu?
0