IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Prob requête MYsql [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Par défaut Prob requête MYsql
    Bonjour,

    J'ai un souci avec un bête INSERT dans une table MYsql de logging à un site....
    Voici la requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $sql = "INSERT INTO log 	(	isrttime	,	event	,	client		,	ip		,	origin		,	page	,	email		,	method	,  deleted		) 
    	    VALUES		    (	now()		 , '$event'	,	'$client' , '$ip'		,'$from'	    , '$where'	,	'$email'	,	'$method'	, 'non'		                                       )
    Le problème est le suivant, dans me mog PHP, j'ai:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    [05-May-2010 11:32:57] PHP Notice:  Logging - Query[INSERT INTO log 	(	isrttime	,	event	,	client		,	ip		,
    									origin		,	page	,	email		,	method	,
    									deleted
    								) 
    				    VALUES		(	now()		 , 'login'	,	'NC'	,	'127.0.0.1'		,
    									'http://jecrapahute/disconnect.php'	    , '/disconnect.php'	,	'jecrapahute@gmail.com'	,	'POST'	,
    									'non'
    								)
    						] in F:\WebSites\jecrapahute\class\logging.php on line 29
    [05-May-2010 11:32:57] PHP Notice:  sqlinfo[SQL] ==> Details : 
    [SQL-Query] 1062 - Duplicate entry '2010-05-05 11:32:57' for key 'PRIMARY' in F:\WebSites\jecrapahute\class\sql.php on line 138
    [05-May-2010 11:32:57] PHP Warning:  Insert LOGIN failed in F:\WebSites\jecrapahute\class\connection.php on line 63
    " ;


    Je ne sais si je dois spécifier now pour le champ ISRTTIME ou la clause par défaut de la définition de la table prend la relêve....

    Voici la définition de la table via PMA:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    isrttime  	timestamp  	 	on update CURRENT_TIMESTAMP  	No  	CURRENT_TIMESTAMP  	on update CURRENT_TIMESTAMP  	  Browse distinct values   	  Change   	  Drop   	  Primary   	  Unique   	  Index   	 Fulltext
    
    event 	enum('login','logout') 	latin1_swedish_ci 		No 	login 		Browse distinct values 	Change 	Drop 	Primary 	Unique 	Index 	Fulltext
    
    client 	varchar(30) 	latin1_swedish_ci 		No 			Browse distinct values 	Change 	Drop 	Primary 	Unique 	Index 	Fulltext
    
    ip 	varchar(20) 	latin1_swedish_ci 		No 			Browse distinct values 	Change 	Drop 	Primary 	Unique 	Index 	Fulltext
    
    origin 	varchar(50) 	latin1_swedish_ci 		No 			Browse distinct values 	Change 	Drop 	Primary 	Unique 	Index 	Fulltext
    
    page 	varchar(40) 	latin1_swedish_ci 		No 			Browse distinct values 	Change 	Drop 	Primary 	Unique 	Index 	Fulltext
    
    email 	text 	latin1_swedish_ci 		No 	None 		Browse distinct values 	Change 	Drop 	Primary 	Unique 	Index 	Fulltext
    
    method 	tinytext 	latin1_swedish_ci 		No 	None 		Browse distinct values 	Change 	Drop 	Primary 	Unique 	Index 	Fulltext
    
    deleted 	enum('non','oui') 	latin1_swedish_ci 		No 	non
    D'un autre coté, avoir 2 inserts en 1 ème de seconde, cela tient du livre des recordS car ce n'est pas moi !
    Mais je ne dis pas qu'il ne faudra pas y faire attention quand le site sera en ligne.....!

    Est-ce que la fonction now') est suffisamant précise ? Ne faut'il pas en utiliser une autre ?
    Avant de creuser + loin dans mon code (cela a fonctionné pourtant mais j'ai tellement fait de modif's depuis une semaine....) je souhaiterai faire valider ce statement.

    Merci à tous

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    Si la valeur par défaut de la colonne est CURRENT_TIMESTAMP, il est sans doute inutile de donner la valeur de la fonction NOW() à la colonne dans un INSERT.

    D'ailleurs, je préfère utiliser la fonction SQL standard CURRENT_TIMESTAMP plutôt que la fonction spécifique now().
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre éclairé Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Par défaut MYsql TImestamp....
    Merci, ta réponse confirme un peu ce que j'avais trouvé depuis;....


  4. #4
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requète MySQL >> Postgresql
    Par genova dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 19/08/2005, 09h05
  2. Requête MYSQL LIKE particulière
    Par TheDarkLewis dans le forum Requêtes
    Réponses: 9
    Dernier message: 05/12/2004, 15h50
  3. Arrêt de l'exécution d'une requête MySQL dans DELPHI.
    Par joelmarc dans le forum Bases de données
    Réponses: 9
    Dernier message: 11/10/2004, 16h11
  4. surcharge de requête MySQL
    Par simoryl dans le forum Requêtes
    Réponses: 4
    Dernier message: 15/06/2004, 10h43
  5. requête mysql sous php
    Par remi59 dans le forum Débuter
    Réponses: 9
    Dernier message: 03/07/2003, 10h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo