effacer les champs dune table...

effacer les champs dune table... - PHP - Programmation

Marsh Posté le 26-02-2004 à 17:30:50    

Pour mon site, jaimerai effacer les champs d'un table avant de les reremplir..
 
Mais mon script ne marche pas pourtant ca a lair pas mal..
 
$res="DELETE * FROM mois";  
 
Quelqu'un pourrait m'aider ??
merci

Reply

Marsh Posté le 26-02-2004 à 17:30:50   

Reply

Marsh Posté le 26-02-2004 à 17:31:42    

mysql_query(); ;)


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 26-02-2004 à 17:38:56    

lol autant pour moi..mon code est celui ci :
 
$req="DELETE * FROM mois";  
$res=mysql_query($req);
 
dsl je suis débutant... :s

Reply

Marsh Posté le 26-02-2004 à 17:44:45    

Pourtant quand je veux ajouter un champs...avec le code qui suit ca marche..vous comprennez quelquechose ??
 
$req2 = "INSERT INTO mois (titremois,imagemois,textemois) VALUES ('$titre','$image','$texte')";
 $res = mysql_query($req1);
 

Reply

Marsh Posté le 26-02-2004 à 17:51:00    

vire le *

Reply

Marsh Posté le 26-02-2004 à 17:52:49    

Ha bah voui :D


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 26-02-2004 à 18:00:26    

dsl de vous décevoir...mais ca marche pas.. :'(
 
jvous donne le bout de mon scrpit..en fait je veu effacer les chmps ( req1 ) et reremplir la table ( req2 )..dailleurs je voulais savoir si je pouvais mettre deux lignes d'affiler $res=....
Je ne sais pas si ca prend les deux en compte ou que la dernière
 
 
 $req1 = "DELETE FROM 'mois' ";
 $req2 = "INSERT INTO mois (titremois,imagemois,textemois) VALUES ('$titre','$image','$texte')";
 $res = mysql_query($req1);

Reply

Marsh Posté le 27-02-2004 à 21:19:40    

Tes lignes $req1 = et $req2 = ne font rien d'autre que recopier les requêtes dans des variables. Ton mysql_query exécute $req1, donc la première. Et pas la seconde.
 
Logique, non ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 27-02-2004 à 23:04:23    

je comprend pas pourquoi mettre dans une variable le mysql_query();
 
Il devrait pas être tout seul pour fonctionner ?

Reply

Marsh Posté le 28-02-2004 à 00:24:10    

gloll a écrit :

dsl de vous décevoir...mais ca marche pas.. :'(
 
jvous donne le bout de mon scrpit..en fait je veu effacer les chmps ( req1 ) et reremplir la table ( req2 )..dailleurs je voulais savoir si je pouvais mettre deux lignes d'affiler $res=....
Je ne sais pas si ca prend les deux en compte ou que la dernière
 
 
 $req1 = "DELETE FROM 'mois' ";
 $req2 = "INSERT INTO mois (titremois,imagemois,textemois) VALUES ('$titre','$image','$texte')";
 $res = mysql_query($req1);


Regarde, c'est magique :
 
mysql_query("DELETE FROM 'mois';" );
mysql_query("INSERT INTO mois (titremois,imagemois,textemois) VALUES ('$titre','$image','$texte');" );
 
 
Evidemment, faut faire ça que si tu ne t'interresse pas aux valeurs de retours de QUERY.


Message édité par skylight le 28-02-2004 à 00:24:27
Reply

Marsh Posté le 28-02-2004 à 00:24:10   

Reply

Marsh Posté le 29-02-2004 à 19:18:46    

lol merci....mais bon ca marche pas kan meme ;)
 
Le INSERT marche très bien..contrairement au DELETE...je ne comprends pas :'(
 
MErci pour vos réponses en tout cas...

Reply

Marsh Posté le 29-02-2004 à 19:31:57    

Code :
  1. mysql_query("DELETE FROM `mois`" );

Reply

Marsh Posté le 29-02-2004 à 19:33:09    

c'est

Code :
  1. delete from nom_table
  2. ou
  3. truncate table nom_table


 
sans ' autour du nom de la table (drôle d'habitude, un peu comme le ; qui sert à rien sous mysql...)

Reply

Marsh Posté le 29-02-2004 à 20:15:35    

MERCIiiiiiiiiiiiiiiiiiiiiiiii !!!
J'ai mis DELETE from mois et ca marche enfin... :)
Merci a tous pour votre aide et bonne continuation a tout le monde

Reply

Marsh Posté le 29-02-2004 à 22:09:46    

naceroth a écrit :

c'est

Code :
  1. delete from nom_table
  2. ou
  3. truncate table nom_table


 
sans ' autour du nom de la table (drôle d'habitude, un peu comme le ; qui sert à rien sous mysql...)


l'utilisation du ` peut servir pour entourer les noms des tables si tu utilise des noms "protégés" (par exemple si tu appelle ta table "table", il faudra faire:
 

Code :
  1. SELECT truc FROM `table`


 

Reply

Marsh Posté le 29-02-2004 à 22:12:48    

Sauf que Mysql t'envoie au diable très souvent lorsque tu le fais (comme gloll vient de s'en apercevoir).  
 
Et je me retiens d'ajouter que nommer une table avec un mot réservé est une idée qui mérite les problèmes qui l'accompagne :D

Reply

Marsh Posté le 29-02-2004 à 22:19:17    

C'est vrai que c'est pas très très malin :D

Reply

Marsh Posté le 29-02-2004 à 23:27:53    

naceroth a écrit :

c'est

Code :
  1. delete from nom_table
  2. ou
  3. truncate table nom_table


 
sans ' autour du nom de la table (drôle d'habitude, un peu comme le ; qui sert à rien sous mysql...)

en ligne de commande si tu ne mets pas le ;, mysql te jette.
 
c'est pareil sous postgresql

Reply

Marsh Posté le 01-03-2004 à 00:17:30    

Ouais je sais, tous le monde se sert de mysql en ligne de commande, surtout sous php...
 
tsss :D

Reply

Marsh Posté le 01-03-2004 à 12:07:15    

c'est pas une raison pour ne pas utiliser les normes ...

Reply

Marsh Posté le 01-03-2004 à 17:24:56    

C'est la norme php de ne pas mettre le point virgule à la fin de la requête je te signale :)
 
extrait du manuel :  
Le paramètre optionnel result_mode peut prendre les valeurs de MYSQL_USE_RESULT ou MYSQL_STORE_RESULT. Par défaut, il vaut MYSQL_STORE_RESULT, ce qui fait que le résultat est mis dans un buffer. Voyez aussi la fonction mysql_unbuffered_query() pour comprendre cas où le résultat n'est pas mis en buffer.
 
Note : La requête ne doit pas être terminée par un point-virgule.

Reply

Marsh Posté le 01-03-2004 à 20:41:00    

[:wam] Ah ouais moi ya quelques années j'avais lu le contraire, et depuis je mets toujours des ; a la fin :D

Reply

Marsh Posté le 01-03-2004 à 21:02:41    

Ben disons que c'est plus normal de le mettre (puisqu'on en a besoin dans la plupart des autres sgbd), mais apparement php s'en passe (il l'ajoute peut être de lui même, je sais pas :))

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed