Jump to content

Bad SubDomain SQL query, à l'aide !


Recommended Posts

Bon jour,

 

Novice mais persévérant, je sollicite l’aide et la gentillesse d’un expert pour solutionner mon problème afin de mettre en ligne mon site prestashop.

 

Pour faire court, ma femme dispose d’une boutique physique et souhaite augmenter sa clientèle en créant une boutique prestashop. Une de ses clientes en congé de maternité, qui travaille dans la création de site, lui a gentiment proposé de lui mettre en ligne son site en intégrant son catalogue produit. Cette dernière a installé la version 1.4.4.0 et acheté pour nous le domaine : commeunparfum.fr puis effectué la mise en ligne (le site est tjs en ligne). Jusqu’ici pas de pb.

 

Mais entre temps, elle a eu un souci avec son bébé et nous a juste indiqué qu’elle ne pouvait poursuivre. Malgré plusieurs relances, elle ne nous a plus donné signe de vie. Nous avons donc seulement les codes administrateur du back office de cette boutique et aucun moyen d’accéder via ftp à la racine de ce site car c’est elle qui a pris l’abonnement chez l’hébergeur (OVH).

 

Je me suis donc lancé pour défi de créer un nouveau site en récupérant la base de données du précédent. J’ai achété un nom de domaine et un hébergement perso chez OVH « comme un parfum d’été.fr ».

 

J’ai exporté via le back office du premier site la base de donnée (fichier sql) puis j’ai lancé l’installation de la même version de prestashop (1.4.4.0) d’abord en local via wamp puis chez l’hébergeur. J’ai respecté il me semble toutes les étapes : import de ma base de données puis modification du fichier Settings INC puis modification du nom de domaine (commeunparfumdete.fr) dans la table ps_configuration de prestashop.

Au final, au lieu de voir mon site en ligne commeunparfumdete.fr, j’ai un message d’erreur Bad SubDomain SQL query.

 

Si quelqu’un a la solution, ce serait très sympa car là malgré des heures de recherches je ne sais plus quoi faire.

 

Merci.

Link to comment
Share on other sites

Bonjour, c'est un problème de communication entre vos fichiers et votre base de données.

 

Vérifiez bien les données présentent dans le fichier config--> settings.inc.php (celui présent sur le serveur ovh)

 

Chez ovh vous avez un accès provisoire sans nom de domaine à votre espace d'hébergement (1 des premiers mails lors de votre inscription), essayez avec ce lien.

 

 

Avant import de la bdd, le site était il accessible normalement ?

Pensez à utiliser le module exportation de thème qui exportera aussi la personnalisation de vos modules.

 

 

 

Au passage - je vois ca tout le temps sur ce forum - on ne crée pas une boutique prestashop mais une boutique avec prestashop :)

Edited by manouille (see edit history)
Link to comment
Share on other sites

Je m'auto répond car me vient une question.

Avez-vous pensé à mettre ceci au début de votre fichier .htaccess à la racine du serveur ?

 

SetEnv PHP_VER 5_TEST
SetEnv REGISTER_GLOBALS 0
SetEnv MAGIC_QUOTES 0
SetEnv ZEND_OPTIMIZER 0

 

Tout ceci pour passer en php5 (indispensable) et pour la sécurité.

Edited by manouille (see edit history)
Link to comment
Share on other sites

Merci bcp Manouille, j'ai modifié le fichier htaccess, qui par défaut via OVH assurait déjà son passage en PHP 5_3, mais cela n'a rien changé. Le problème perdure mais je vais m'accrocher. Je vais déjà recommencer pour répondre à votre première interrogation (Avant import de la bdd, le site était il accessible normalement ?) Oui en local mais sur le web OVH indiquait une page site en construction.

 

Si quelqu'un à une autre idée, je suis preneur. Je rappelle mon souhait installer une boutique en ligne via prestashop 1.4.4.0 sur le domaine commeunparfumdete.fr en important une sauvegarde de Base de Données d'un site précendent toujours de la version 1.4.4.0 qui se trouve sur le domaine commeunparfum.fr en ligne actuellement et hébergé chez OVH;

 

Merci à tous pour votre concours.

Link to comment
Share on other sites

Re,

 

Je vous donne la liste de ce que j'aurai fait. A vous de voir si vous l'avez fait ou voulez le faire :

 

Nouvel hébergement OVH

- créer la base de données via le manager

- accéder au ftp et supprimer tous les fichiers présent dans le dossier 3w

- mettre un fichier index.php avec "hello world" dedans et vérifier si dans votre navigateur en entrant votre adresse de site il s'affiche bien "hello world" à l'écran

- uploader une version 1.4.0 (votre version) sur le serveur (en écrasant le fichier index.php créé précédemment)

 

Installation de presta

- se rendre sur l'url de votre site avec le suffixe install : adressedevotresite/install

- faire l'installation complète et vérifier une fois cela fait que lorsque vous entrez l'adresse de votre site dans le navigateur vous tombez bien sur une boutique faite avec presta (la boutique par défaut)

 

Sur votre ancienne boutique

- faites une sauvegarde de votre BDD en cochant la cache "drop table if exist" --> cela supprimera les table avant de les reinstaller sur votre nouveau serveur. Ignorez les tables statistiques

- activez le module "exportation de thème" et faites un export

 

Sur le phpmyadmin de votre nouveau serveur

- sélectionnez votre bdd

- rendez vous sur importer

- sélectionnez votre fichier de sauvegarde bdd (il faudra peut etre le dézipper si votre hébergement ne supporte pas le bz2)

-exécuter

 

Sur le BO de votre nouveau site

- vous devriez voir les clients et commandes et votre historique si tout c'est bien passé.

- rendez-vous dans modules pour importer votre thème

- régénérez le htacess de votre site

 

 

Si tout c'est bien passé vous avez fini.

Edited by manouille (see edit history)
  • Like 1
Link to comment
Share on other sites

Encore merci Manouille d'avoir pris le temps de poster une réponse complète et très claire pour un novice comme moi, c'est très sympa.

 

J'ai suivi à la lettre vos préconisations, j'ai essayé de nombreuses fois et malheureusement le problème n'est pas vraiment résolu.

 

J'ai bien mon site en ligne générique (version 1.4.4.0) en ligne sur mon nom de domaine commeunparfumdete.fr mais malheureusement l'import de la base données de ma sauvegarde (1ère boutique commeunparfum.fr) avec phpmyadmin d'OVH n'a pas eu d'incidence dans mon back office prestashop.

 

Je vais certainement dire des imbécilités mais je m'explique pour essayer de donner des pistes.

 

Si j'ai bien compris le fonctionnement : En installant la solution prestashop à la racine de mon site /www, via filezilla, je "remplis" également ma base de donnée créée chez OVH (car le programme d'installation me demande de renseigner le serveur et les identifiants de ma base mysql, ce qui revient en fait si on passe d'abord par localhost a changer une fois le site transféré le fichier Settings Inc à la main).

 

J'ai donc fait deux tentatives.

1. J'ai supprimé toutes les tables de ma base de données mysql chez OVH et là j'ai retrouvé mon message d'erreur Bad Subdomain sql Query sur la page de mon site qui avait disparu. J'ai tout de même tenter d'importer ma base de données sauvegardée mais le site gardait le même message et ne marchait pas comme hier.

 

2. J'ai juste importer ma BDD sauvegardée dans ma BDD mysql d'OVH qui était déjà remplie des tables liées à l'installation du logiciel. Là, j'ai toujours mon site en ligne générique en ligne mais aucune mise à jour de ma BDD;

 

Donc le mystère continue pour moi. Peut-être que la sauvegarde de la BDD de mon premier site générée par le back office de prestashop n'est pas satisfaisante même si cela semble marcher correctement avec le téléchargement d'un fichier xxxxxxxx.sql mais sinon c'est bcp trop complexe pour moi.

 

J'ai bien pu importer mon thème. Alors j'ai peut-être une solution pour ne pas à avoir à reremplir la liste de tous mes produits et les infos qui vont avec. Il faudrait générer un fichier csv avec un module prestashop^car je n'ai pas accès aux codes ftp de mon premier site. Mais savez-vous comment importer les catégories de façon à tout retrouver comme sur le premier site ?

 

Merci Manouille.

Link to comment
Share on other sites

Hello,

 

sur ton nouvel hébergement va sur le phpmyadmin, supprime toutes les tables.

 

Puis va sur importer et importe la base de ton ancien site.

 

Normalement ca mouline un peu (en fonction de la taille). Tu as une confirmation lorsque tout est fait.

 

Une fois fait regarde combien de tables ont été créées. Normalement plus de 140.

Edited by manouille (see edit history)
Link to comment
Share on other sites

Salut Manouille,

 

J'ai refait l'opération suppression de la bdd (ovh) et importation de l'ancienne (sauvegarde) comme j'avais fait la première fois. Le résultat est le même. Dès que je supprime ma bdd via le phpadmin de mon hébergeur j'ai le message Bad SubDomain SQL query qui s'affiche sur mon domaine commeunparfumdete.fr et la boutique prestashop a disparu. L'importation de l'ancienne BDD ne change rien. J'ai au total 169 tables.

 

Mystère ?

 

Merci

Link to comment
Share on other sites

  • 9 months later...

Bonjour à tous.

Dans mon cas, c'est le même message d'erreur à la suite de l'opération suivante :

- Boutique en version 1.4.7 = OK

- upgrade avec la méthode AUTO 1 Clic = OH

Avec site = OK

Avec BO = OK

- upgrade avec AUTO 1 click vers 1.5.3 = HS

Avec Site = HS : Bad SubDomain SQL query.

Avec BO = OK

 

Puis, tentative 1 de restaurer via le client FTP de la sauvegarde déposée sur PC local

Puis tentative 2 de restaurer une des sauvegardes AVANT upgrade.

 

Depuis : site = HS et BO = HS (donc ce point est également nouveau).

 

Pouvez vous me donner les grandes pistes de recherches.

 

Merci à tous

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 year later...

En version 1.4.8 : "Bad SubDomain SQL query."

Est le résultat de /Classes/Cookie.php

		$subDomains = SubDomain::getSubDomains();
		if ($subDomains === false)
			die(Tools::displayError('Bad SubDomain SQL query.'));

Donc dans /Classes/SubDomain.php

		if (!$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('SELECT `name` FROM `'._DB_PREFIX_.'subdomain`'))
			return false;

Donc la requête "SELECT `name` FROM `'._DB_PREFIX_.'subdomain`" ne retourne rien... donc soit la table est absente de la BDD soit la table est vide.

 

Dans mon cas c'était un export incomplet de la BDD source, trop long pour être exporté complétement sur un phphMyAdmin OVH.

 

Dans ce cas, j'ai exporté dans un premier temps la structure de la BDD (Exporter > Personnaliser > Options spécifiques au format : structure).

Puis dans un deuxième temps les données mais partiellement : (Exporter > Personnaliser > Options spécifiques au format : données),

c'est-à-dire sans le contenu des tables connections, connections_source et guest, qui sont les plus grosses, ne servent pas à grand choses et ne sont jamais vidées par Prestashop.

Pour moi c'est une erreur de conception. Est-ce que vous savez si celà a été résolu sur la 1.6 ?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...