Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/07/2007, 10h59   #1
Futur Membre du Club
 
Inscription : novembre 2006
Messages : 66
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 66
Points : 19
Points : 19
Par défaut [SQL] Requête delete avec datetime comme clé

Bonjour, j'ai un petit probleme, j'aurais souhaité votre aide s'il vous plait!

j'ai une table sql avec comme clé un attribut de type datetime.

et je voudrais pouvoir supprimer un tuple. en utilisant la methode get:

avec le code qui suit, il n'y a pas derreur, mais le tuple ne se supprime pas

voici :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
<input type="hidden" value="'.$row["temps"].'" name="temps">
<input type="image" src="delete.png" border="0">
</form>
 
avec temps l'attribut que je recupere.
 
et dans mon fichier de traitement, j'ai :
 
$temps = $_POST["temps"];
 
// je recupere bien la valeur de temps puisque j'arrive a l'afficher
 
et voici ma requete sql :
 
   //création de la requête SQL:
   $sqlrequete = "DELETE FROM commandes WHERE temps='.$temps.'";
 
 
   //exécution de la requête SQL:
   $requete = mysql_query($sqlrequete, $cnx) or die( mysql_error() ) ;
 
   //affichage des résultats, pour savoir si l'insertion a marchée:
   if($requete)
   {
     echo("<br><br><b><center>Article supprimé..$temps.</center></b>" ) ;
   }
   else
   {
     echo("suppression echouée" ) ;
   }		
	mysql_close();

j'affiche "article supprimé (et la date, mais rien n'est supprimé)

quelqu'un a une idée ?

merci
gostbuster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 11h09   #2
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
tu fais une concaténation avec des . . du coup il faut penser a fermer les double quote. Un exemple est plus simple
Code :
1
2
3
4
5
6
 
// En concaténant :
$sqlrequete = "DELETE FROM commandes WHERE temps='".$temps."'";
 
// sans concaténer
$sqlrequete = "DELETE FROM commandes WHERE temps='$temps'";
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 11h15   #3
Futur Membre du Club
 
Inscription : novembre 2006
Messages : 66
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 66
Points : 19
Points : 19
merci pour cette reponse ultra rapide!
gostbuster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2007, 19h29   #4
Futur Membre du Club
 
Inscription : novembre 2006
Messages : 66
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 66
Points : 19
Points : 19
Bonjour, je me permet encore de faire appel a votre aide, car je cherche encore desesperement mon erreur.

je souhaite a present mettre a jour des tuples, toujours dans la meme base:
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 '2007-07-17 18:46:46''' at line 1

j'ai pas de soucis pour recuperer les variables via la methode post.

voici le code de ma requete :

Code :
1
2
 
$sqlrequete = " UPDATE commandes SET  ref='$ref', qte='$qte', four='$four', vendeur='$vendeur', client='$client', temps='NOW()' WHERE temps='$temps'";

par avance merci encore.
gostbuster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2007, 19h40   #5
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
NOW() étant une fonction, vous n'avez pas besoin de l'encadrer de quotes :
Code :
$sqlrequete = " UPDATE commandes SET  ref='$ref', qte='$qte', four='$four', vendeur='$vendeur', client='$client', temps=NOW() WHERE temps='$temps'";
En espérant que l'erreur était bien là.

Note : vous devriez protéger vos données (fonction mysql_real_escape_string).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2007, 09h06   #6
Futur Membre du Club
 
Inscription : novembre 2006
Messages : 66
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 66
Points : 19
Points : 19
malheureusement ce n'est pas ca....je cherche toujours snifff
gostbuster est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h58.


 
 
 
 
Partenaires

Hébergement Web