Aller au contenu

Probleme mysql [RESOLU]


Guest dubastiste

Sujets conseillés

Guest dubastiste

Bonsoir à tous,

je suis occupé à replacer ma base mysql sur un nouveau serveur mais j'ai un message d'erreur quand j'exécute des requêtes avec apostrophe.

Exemple:

=> C\'est le jeu du jour ( ca donne Erreur 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 ... )

ou

=> C'est le jeu du jour ( ca donne aussi Erreur 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 ... )

tandis que

=> C est le jeu du jour ( c'est ok )

Probleme

Ca fait un peu cloche sur le site des descriptions sans apostrophes :unsure:

Je pourrais les modifier manuellement une par une, car une fois enregistré dans la base mysql alors je sais replacé des apostrophes mais sur + ou - 1500 désignations, ca va être du boulot.

Question

Il y a un moyen de faire accepter les apostrophes ?

Merci d'avance

Modifié par dubastiste
Lien vers le commentaire
Partager sur d’autres sites

La bonne synthaxe, pour un insert, par exemple, avec apostrophe, est :

INSERT INTO table (id,champ) VALUES ('','c\'est le jeu du jour');

Si tu as une erreur sql, c'est parce qu'il y a un apostrophe ou un anti-slash qui se promène sans raisons.

Pour résoudre le problème, il ne faut pas regarder ce que renvoie le navigateur, mais bien ce que renvoie le code source du navigateur.

Essaies d'afficher la requète en question (echo $query), et postes nous le code source. L'erreur y est ;)

Anonymus.

Lien vers le commentaire
Partager sur d’autres sites

Guest dubastiste

Merci pour vos réponses.

Voilà un exemple de requête:

INSERT INTO `content` VALUES (1, 2, 1108323180, 'jeu1', 'admin', 'C\' est le jeu du jour !', 'url.swf', 4, 1, 0, 0, '', 3, 0, 1, '0', 0, 1, 1, 1, 1, 1, 0, '', 'url.jpg', '');

En fait, avant de travailler sur le serveur, je fais des tests sur un vieux compte lycos-multimania. C'est une vieille version de phpmyadmin, peut être que sur une version plus récente, ca marchera car je ne vois pas d'apostrophe ou de anti-flash qui se promene sans raison.

Lien vers le commentaire
Partager sur d’autres sites

Ca peut venir d'un problème de 'nombre de champs'. Verifies que tu aies bien 26 champs, dans la table 'content'. (et recomptes, je suis pas à l'abri d'une erreur ;) )

Tu devrais mettre, derrière 'content', le nom des champs. Ca leve ainsi toute ambiguité.

Lien vers le commentaire
Partager sur d’autres sites

Guest dubastiste

26 on compte la même chose (on est fort quand même hein :P ) et apparement la table correspond, je comprends pas !

Et au pire, j'enleverais les apostrophes et je les rajouterais une a une par la suite.

#
# Structure de la table `content`
#

CREATE TABLE `content` (
 `content_id` int(14) unsigned NOT NULL auto_increment,
 `content_cat` int(6) unsigned NOT NULL default '0',
 `content_time` int(14) unsigned NOT NULL default '0',
 `content_title` varchar(250) NOT NULL default '',
 `content_autor` varchar(60) NOT NULL default '',
 `content_text` text NOT NULL,
 `content_altdat` varchar(250) NOT NULL default '',
 `content_option` tinyint(1) NOT NULL default '1',
 `content_status` tinyint(1) NOT NULL default '1',
 `content_subid` int(14) NOT NULL default '0',
 `content_expire` int(14) unsigned NOT NULL default '0',
 `content_header` text NOT NULL,
 `content_autorid` int(14) unsigned NOT NULL default '0',
 `content_themeid` int(14) unsigned NOT NULL default '0',
 `content_views` int(6) unsigned NOT NULL default '0',
 `content_rating` double NOT NULL default '0',
 `content_rating_total` int(14) unsigned NOT NULL default '0',
 `content_comment_status` tinyint(1) NOT NULL default '1',
 `content_rating_status` tinyint(1) NOT NULL default '1',
 `content_ubb` tinyint(1) NOT NULL default '1',
 `content_html` tinyint(1) NOT NULL default '1',
 `content_smilies` tinyint(1) NOT NULL default '1',
 `content_filesize` int(14) unsigned NOT NULL default '0',
 `content_template` varchar(250) NOT NULL default '',
 `content_teaser` text NOT NULL,
 `content_related` text NOT NULL,
 PRIMARY KEY  (`content_id`)
) TYPE=MyISAM AUTO_INCREMENT=1837;

C'est peut-être la version de phpmyadmin de lycoch qui est trop vieille ???

Je vais essayer bientot sur une nouvelle version et je vous tiendrais au courant.

PS:Merci Anonymus.

Lien vers le commentaire
Partager sur d’autres sites

Guest dubastiste

Bonjour xpatval,

euh, je ne vois pas de addslashes() dans mon fichier sql. :unsure:

En fait, je ne suis pas un pro, je suis même loin d'en être un, ceci explique la raison de mes tests sur lyly et non directement sur un nouveau serveur, si tu sais m'expliquer assez simplement comment exécuter du addslashes() :rolleyes: ca serait sympa.

Lien vers le commentaire
Partager sur d’autres sites

Je crois que ce monsieur veut importer une table SQL à partir d'un fichier txt ou .sql, enfin bref, il ne travaille pas à partir d'un programme PHP mais à partir de PHPmyadmin je suppose...

Donc la fonction addslaches n'a rien à voir :/

Lien vers le commentaire
Partager sur d’autres sites

Guest dubastiste
Je crois que ce monsieur veut importer une table SQL à partir d'un fichier txt ou .sql, enfin bref, il ne travaille pas à partir d'un programme PHP mais à partir de PHPmyadmin je suppose...

Donc la fonction addslaches n'a rien à voir :/

<{POST_SNAPBACK}>

Oui c'est exactement ca, je veut importer une table SQL à partir d'un fichier que j'ai sauvegardé voila un mois et dont l'extension est SQL.

Désolé si je n'emploi pas toujours les bons termes pour m'expliquer :wacko:

PS: sarc, laisse le monsieur chez madame et appelle moi bastiste ;)

Lien vers le commentaire
Partager sur d’autres sites

Quel est la version de MySQL dans laquelle tu veut mettre ta base.

Et la version MySQL d'où vient ta sauvegarde.

Si elles sont différentes comme par exemple 3.23 et 4.1 il faut le spécifier lors de la lecture du fichier sql.

Il me semble qu'il suffit de l'indiquer dans phpmyAdmin.

Lien vers le commentaire
Partager sur d’autres sites

Guest dubastiste

Voilà la question qui me ridiculise :blush:

J'arrive pas à trouver la version sur lycos... Mais ca doit être une vieille.

Et je ne saurais pas dire la version qu'il y avait sur mon VPS (de ma sauvegarde donc) vu qu'il est mort :evil: mais c'était sans doute une nouvelle version car elle était colorée et avec des icones partout :rolleyes:

Vu que je vais prendre un dédié, je vais sans doute avoir une nouvelle version donc le problème des apostrophes sera "peut-être" résolu !

C'est pour le moment le seul problème que je rencontre.

Je vous tiendrais au courant.

Et merci pour vos réponses et votre aide ;)

Lien vers le commentaire
Partager sur d’autres sites

Dubatiste,

Tu dois avoir la version mySql dans les premières lignes du fichier de dump de ta base, sous cette forme:

-- phpMyAdmin SQL Dump
-- version 2.6.1-pl3
-- http://www.phpmyadmin.net
--
-- Serveur: localhost
-- Généré le : Lundi 25 Avril 2005 à 18:46
-- Version du serveur: 4.0.24

vraisemblablement avec des numéros de versions plus anciens... ;)

Lien vers le commentaire
Partager sur d’autres sites

Guest dubastiste

Décidement, vous avez réponse à tout !!! :hourra:

Ma sauvegarde:

# phpMyAdmin SQL Dump

# version 2.5.4

Mes test sur Lycos:

# phpMyAdmin MySQL-Dump

# version 2.2.1-dev

Je vais essayer de trouver un petit heb qui aurait une version plus recente de phpmyadmin pour faire mes tests en attendant de choisir un serveur dédié, à ce sujet, si peut-être vous savez encore m'aider ici et m'éclairer un peu sur le bon choix à faire.

De toute façon, je vous tiens au courant pour les apostrophes ainsi on aura une réponse fixe sur ce problème (en esperant donc que c'est une incompatibilité de version, si on peux appeller ca ainsi)

:rolleyes:

Lien vers le commentaire
Partager sur d’autres sites

Mes test sur Lycos:

# phpMyAdmin MySQL-Dump

# version 2.2.1-dev

Le "-dev" signifie 'en développement'. Autrement dit, une version pas "stable".

Ce n'est pas sérieux de la part de Lycos.

Mais surtout, la version n'est pas à jour, et ce depuis pas mal de versions déjà..

Imagines, on en est à 2.6..

Lien vers le commentaire
Partager sur d’autres sites

Guest dubastiste

Merci pour l'info Anonymus, faut dire que mes tests, c'est sur du lycos gratuit que je les fais, mais quand même pour être dépassé à ce point... :rolleyes:

Je viens de tester sur un phpmyadmin 2.6.0-pl3 !

Résultat des courses, ca fonctionne sans aucun problème !

Je suis content, merci à tous de m'avoir aider B)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...