Encodage

Fermé
popup421 Messages postés 5 Date d'inscription samedi 18 mai 2013 Statut Membre Dernière intervention 8 juin 2017 - 4 juin 2017 à 11:11
yg_be Messages postés 23431 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 janvier 2025 - 4 juin 2017 à 18:21
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 23431 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 janvier 2025 Ambassadeur 1 559
4 juin 2017 à 11:40
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 samedi 18 mai 2013 Statut Membre Dernière intervention 8 juin 2017
4 juin 2017 à 16:39
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 23431 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 janvier 2025 1 559
4 juin 2017 à 16:47
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 samedi 18 mai 2013 Statut Membre Dernière intervention 8 juin 2017 > yg_be Messages postés 23431 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 janvier 2025
4 juin 2017 à 18:13
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 23431 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 janvier 2025 1 559 > popup421 Messages postés 5 Date d'inscription samedi 18 mai 2013 Statut Membre Dernière intervention 8 juin 2017
4 juin 2017 à 18:21
parfait. peux-tu marquer comme résolu?
0