Changer sql_mode via php
Fermé
juanou
Messages postés
137
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
23 août 2013
-
31 mai 2009 à 19:36
le père - 31 mai 2009 à 22:05
le père - 31 mai 2009 à 22:05
A voir également:
- Strict_trans_tables
- Changer dns - Guide
- Changer clavier qwerty en azerty - Guide
- Changer carte graphique - Guide
- Changer extension fichier - Guide
- Changer wifi chromecast - Guide
7 réponses
Bonjour
Juste une idée... Fais-tu tes essais phpmyadmin / script PHP sur le même serveur ? car le STRICT_TRANS_TABLES n'existe que depuis la version 5.0.2 de mysql.
Juste une idée... Fais-tu tes essais phpmyadmin / script PHP sur le même serveur ? car le STRICT_TRANS_TABLES n'existe que depuis la version 5.0.2 de mysql.
juanou
Messages postés
137
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
23 août 2013
58
31 mai 2009 à 20:28
31 mai 2009 à 20:28
Tiens, revoilà le père !
Merci de m'aider là-dessus aussi.
Oui, je fais mes essais sur le même serveur.
Et je suis surpris que tu me dises que le STRICT_TRANS_TABLES n'existe que depuis mysql 5.0.2, parce que sur ce serveur je tourne avec la version 5.1.30, et qu'il semble s'adapter au sql_mode que je lui indique
Merci de m'aider là-dessus aussi.
Oui, je fais mes essais sur le même serveur.
Et je suis surpris que tu me dises que le STRICT_TRANS_TABLES n'existe que depuis mysql 5.0.2, parce que sur ce serveur je tourne avec la version 5.1.30, et qu'il semble s'adapter au sql_mode que je lui indique
Je ne connaissais rien des subtilités de sql_mode avant ta question, mais voilà ce que j'ai trouvé dans ma doc mysql :
Ils parlent aussi de l'option SESSION ou GLOBAL de cette commande, des droits qu'il faut avoir pour l'exécuter.
Chez moi je ne peux pas donner cette valeur, ni avec phpmyadmin, ni avec un script PHP.
Exécutes-tu le script PHP avec le même utilisateur que celui utilisé par phpmyadmin ? Affiches-tu l'éventuel message d'erreur avec un or die (mysql_error()) ?
STRICT_TRANS_TABLES If a value could not be inserted as given into a transactional table, abort the statement. For a non-transactional table, abort the statement if the value occurs in a single-row statement or the first row of a multiple-row statement. More detail is given later in this section. (New in MySQL 5.0.2)
Ils parlent aussi de l'option SESSION ou GLOBAL de cette commande, des droits qu'il faut avoir pour l'exécuter.
Chez moi je ne peux pas donner cette valeur, ni avec phpmyadmin, ni avec un script PHP.
Exécutes-tu le script PHP avec le même utilisateur que celui utilisé par phpmyadmin ? Affiches-tu l'éventuel message d'erreur avec un or die (mysql_error()) ?
juanou
Messages postés
137
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
23 août 2013
58
31 mai 2009 à 20:50
31 mai 2009 à 20:50
Tiens, je viens de me rendre compte que tu disais que la commande n'existait "que depuis mysql 5.0.2".
J'avais compris "plus depuis mysql 5.0.2", même si dans ma réponse j'ai bien recopié ce que tu as dit.
Je comprends donc mieux que ça marche aussi avec 5.1.30.
(Enfin peu importe)
Mais pour répondre à tes nouvelles questions :
* oui j'utilise le même utilisateur dans les deux cas (enfin il ne me semble pas en avoir plusieurs)
* non mysql_error() ne me retourne rien. D'ailleurs, si je fais echo mysql_query($ma_query), il affiche "1" (donc ok).
J'avais compris "plus depuis mysql 5.0.2", même si dans ma réponse j'ai bien recopié ce que tu as dit.
Je comprends donc mieux que ça marche aussi avec 5.1.30.
(Enfin peu importe)
Mais pour répondre à tes nouvelles questions :
* oui j'utilise le même utilisateur dans les deux cas (enfin il ne me semble pas en avoir plusieurs)
* non mysql_error() ne me retourne rien. D'ailleurs, si je fais echo mysql_query($ma_query), il affiche "1" (donc ok).
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Autres suggestions, juste pour voir les réactions (car je n'ai aucune explication raisonnable)
mysql_query("SET sql_mode='ANSI';") (ou un autre mode)
mysql_query("SET GLOBAL sql_mode='STRICT_TRANS_TABLES';")
et autre question : as-tu bien sélectionné une base ? (je suppose que oui, qu'il y aurait une erreur sinon)
mysql_query("SET sql_mode='ANSI';") (ou un autre mode)
mysql_query("SET GLOBAL sql_mode='STRICT_TRANS_TABLES';")
et autre question : as-tu bien sélectionné une base ? (je suppose que oui, qu'il y aurait une erreur sinon)
juanou
Messages postés
137
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
23 août 2013
58
31 mai 2009 à 22:01
31 mai 2009 à 22:01
J'ai déjà pensé à tout ça moi aussi. Ca donne rien non plus.
Quant à la base, ça générerait effectivement une erreur si je ne l'avais pas fait, et le mode_sql ne passerait pas à "".
C'est bien bizarre tout ça !
Quant à la base, ça générerait effectivement une erreur si je ne l'avais pas fait, et le mode_sql ne passerait pas à "".
C'est bien bizarre tout ça !