Jump to content

Afficher les requêtes MySQL


Recommended Posts

Bonjour,

 

J'aimerais simplement pouvoir afficher les requête généré par Prestashop, et les erreurs retourné par MySQL.

 

Est ce possible ?

 

J'ai essayé ceci :

 

define('_PS_DEBUG_SQL_', true);

 

define('_PS_MODE_DEV_', true);

 

J'ai aussi vu quelque part qu'on pouvais renommer override/classes/_MySQL.php en MySQL.php.

 

Rien n'y fait.

 

Merci d'avance pour votre aide.

Link to comment
Share on other sites

Bonjour Rook,

Si tu veux souhaites afficher les requêtes sql en erreur le mode dev convient.

SI tu souhaites afficher toutes les requêtes sql le plus facile serait de réaliser cette opération directement dans la configuration de ton serveur mysql.(Fichier my.cnf my.cnf )

log = log_file_name.
Link to comment
Share on other sites

Je précise que j'utilise la version 1.4 .

 

Oui effectivement ça peux être une solution de secours mais j’espère qu'il existe un outil intégré à prestashop pour gérer ça.

 

J'essaye de faire un simple add() dans ma base mais j'ai pour toutes réponses un false...

difficile d'avancer avec ça.

Link to comment
Share on other sites

Solution à long terme plus confortable

Si tu travails avec un EDI tel Eclipse tu peux travailler en mode DEBUG facilement(créer des points d'arret, analyse tes variables). Je pourrais faire un tutorial si besoin(tout dépend de la demande de la communauté).

Tu peux même travailler en remote debug utile pour dépanner des sites distants.

 

Solution à court terme

C'est du dépannage mais bon tu peux toujours réaliser un echo de l'insert dans la classe DB.php sur 1.5 et 1.6 c'est dans classes/db/Db.php dans la fonction insert

$sql = $insert_keyword.' INTO `'.$table.'` ('.$keys_stringified.') VALUES '.implode(', ', $values_stringified);
echo $sql;
		return (bool)$this->q($sql, $use_cache);

Ca t'affichera surement aussi d'autres requêtes sql mais tu verras bien la fautive.

Ou sinon tu peux aussi contrôler le résultat avant et afficher les insert en erreur

$result =(bool)$this->q($sql, $use_cache)
if (!$result)
 echo $sql;
return $result
Edited by Timactive (see edit history)
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...