Script PHP

Script PHP - PHP - Programmation

Marsh Posté le 07-12-2011 à 11:57:47    

:hello: Bonjour, je dois réaliser un script qui devra supprimer les enrengistrements de certaines tables après les avoir exporter.
Etant donnée que j'ai MySQL Administrator, je compte utilisait l'utilitaire de Back UP et programmer un enrengistrement régulier. Pour supprimer ensuite les enrengistrements, j'ai commencer à creer le code suivant :
<?php
$db = mysql_connect('127.0.0.1', 'root', '1234');  // Connexion à la BDD
mysql_select_db('bdd',$db);  
$sql = "DELETE * from Table1, Table2";
mysql_close($db);   // Fermeture de la BDD
?>

Qu'en pensez vous ?  
ps: serait il preferable d'introduire la sauvegarde dans le script ?
Merci.


Message édité par SNY7 le 12-12-2011 à 11:06:14
Reply

Marsh Posté le 07-12-2011 à 11:57:47   

Reply

Marsh Posté le 09-12-2011 à 12:13:21    

up

Reply

Marsh Posté le 09-12-2011 à 17:12:03    

1- Sauvegarde
2- VERIFIER SAUVEGARDE
3- SI SVG OK : Delete.
 
Si tu supprime tous les enregistrements, truncate est plus efficace que delete.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 09-12-2011 à 22:14:12    

Je comptais faire une sauvegarde automatique avec MySQL Administrator. Il me reste donc plus qu'a faire un script pour supprimer les données. Je ne sais pas comment m'y prendre.
Fichier . bat :

Code :
  1. <?php
  2. $db = mysql_connect('127.0.0.1', 'root', '1234');  // Connexion à la BDD
  3. mysql_select_db('bdd',$db); 
  4. $sql = "DELETE * from Table1, Table2";
  5. mysql_close($db);   // Fermeture de la BDD
  6. ?>


Qu'en pensez vous ?


Message édité par SNY7 le 09-12-2011 à 22:16:02
Reply

Marsh Posté le 10-12-2011 à 13:26:54    

Code :
  1. <?php
  2. $db = mysql_connect('127.0.0.1', 'root', '1234') || die( 'Erreur connexion à la bd !' );
  3. mysql_select_db('bdd',$db) || die( 'Erreur select bd !' );
  4. mysql_query( 'TRUNCATE Table1', $db ) || die( 'Erreur truncate Table1' );
  5. mysql_query( 'TRUNCATE Table2', $db ) || die( 'Erreur truncate Table2' );
  6. mysql_close($db);
  7. ?>


 


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 10-12-2011 à 22:15:41    

Mara's dad a écrit :

Code :
  1. <?php
  2. $db = mysql_connect('127.0.0.1', 'root', '1234') || die( 'Erreur connexion à la bd !' );
  3. mysql_select_db('bdd',$db) || die( 'Erreur select bd !' );
  4. mysql_query( 'TRUNCATE Table1', $db ) || die( 'Erreur truncate Table1' );
  5. mysql_query( 'TRUNCATE Table2', $db ) || die( 'Erreur truncate Table2' );
  6. mysql_close($db);
  7. ?>


 


OK, merci beaucoup ! Donc j'ai juste à intégrer ce code sur Notepad, enregistrer le fichier en .bat et dès que je l’exécuterai les enregistrements des tables seront supprimés ? Pacontre, sur la console de commande, on ne verra rien (l’exécution étant très rapide) ?
Merci..

Reply

Marsh Posté le 10-12-2011 à 22:44:11    

C'est du php à mettre dans un script .php que tu appelleras à partir du .bat via [chemin vers php.exe]\php.exe nom_script.php.


---------------
"Il a inventé le bougisme : je bouge donc je suis" :sol: - Dupont-Aignan à propos de Son Altesse Sérénissime Sarkal 1er. Merci Handsome Devil et Meriadeck.
Reply

Marsh Posté le 10-12-2011 à 22:46:14    

merci mais j'ai pas très bien compris ... Pour appeler le script je tape quoi dans le fichier bat ?


Message édité par SNY7 le 10-12-2011 à 22:47:19
Reply

Marsh Posté le 11-12-2011 à 09:53:14    

[chemin vers php.exe]\php.exe nom_script.php


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 11-12-2011 à 14:11:29    

Mara's dad a écrit :

[chemin vers php.exe]\php.exe nom_script.php


OK merci, il n'y a rien d'autre à rajouter dans le fichier .bat ?

Reply

Marsh Posté le 11-12-2011 à 14:11:29   

Reply

Marsh Posté le 12-12-2011 à 09:14:07    

J'ai crée le fichier php suivant :

Code :
  1. <?php
  2. $db = mysql_connect('127.0.0.1', 'root', '1234') || die( 'Erreur connexion à la bd !' );
  3. mysql_select_db('ma_base',$db) || die( 'Erreur select bd !' );
  4. mysql_query( 'TRUNCATE table1', $db ) || die( 'Erreur truncate Table1' );
  5. mysql_close($db);
  6. ?>


Et le fichier .bat suivant :

Code :
  1. [d:\Documents and Settings\Administrateur\Mes documents]\php.exe script.php


Lorsque je clic sur script, la fenetre MSDOS se lance et se referme très rapidement, je verifie ensuite si les enrengistrements sont supprimés, ils ne le sont toujours pas !
Merci;

Reply

Marsh Posté le 12-12-2011 à 09:18:10    

Sans les [].
Les [] indique que c'est optionnel, par exemple si php.exe est dans le PATH.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 12-12-2011 à 09:23:00    

C'est fait, les enrengistrements ne sont toujours pas supprimés.

Reply

Marsh Posté le 12-12-2011 à 09:37:38    

Lance le à la main dans une fenêtre DOS pour voir s'il y a des messages d'erreur.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 12-12-2011 à 09:40:20    

Je tape quoi dans ma console ?

Reply

Marsh Posté le 12-12-2011 à 09:47:29    

SNY7 a écrit :

J'ai crée le fichier php suivant :

Code :
  1. <?php
  2. $db = mysql_connect('127.0.0.1', 'root', '1234') || die( 'Erreur connexion à la bd !' );
  3. mysql_select_db('ma_base',$db) || die( 'Erreur select bd !' );
  4. mysql_query( 'TRUNCATE table1', $db ) || die( 'Erreur truncate Table1' );
  5. mysql_close($db);
  6. ?>


Et le fichier .bat suivant :

Code :
  1. [d:\Documents and Settings\Administrateur\Mes documents]\php.exe script.php


Lorsque je clic sur script, la fenetre MSDOS se lance et se referme très rapidement, je verifie ensuite si les enrengistrements sont supprimés, ils ne le sont toujours pas !
Merci;


 
J'ai oublié de dire comme je n'indique pas de chemin pour le script php :

Citation :


[chemin vers php.exe]\php.exe nom_script.php


il faut que le fichier bat et le fichier php soient dans le même répertoire.
 
Mais sinon il est aussi de possible de spécifier un chemin vers le script php pour mettre le .bat n'importe où.
 
Et ne pas oublier le plus important : télécharger l'installateur windows de php sur http://windows.php.net/download/ pour installer ensuite php si tu ne l'as pas déjà sur ton windows.


Message édité par FranceDenBas le 12-12-2011 à 09:49:54

---------------
"Il a inventé le bougisme : je bouge donc je suis" :sol: - Dupont-Aignan à propos de Son Altesse Sérénissime Sarkal 1er. Merci Handsome Devil et Meriadeck.
Reply

Marsh Posté le 12-12-2011 à 09:48:49    

Ils sont déjà dans le même répertoire. J'ai déjà PHP avec WAMP ;

Message cité 1 fois
Message édité par SNY7 le 12-12-2011 à 09:50:41
Reply

Marsh Posté le 12-12-2011 à 09:50:05    

Si tu veux une pause dans le .bat :

Code :
  1. "d:\Documents and Settings\Administrateur\Mes documents\php.exe" script.php
  2. pause


pause : interrompt le .bat en affichant le message "Appuyez sur une touche pour continuer..."
 
edit : mise en guillemets doubles de la commande


Message édité par FranceDenBas le 12-12-2011 à 09:56:58

---------------
"Il a inventé le bougisme : je bouge donc je suis" :sol: - Dupont-Aignan à propos de Son Altesse Sérénissime Sarkal 1er. Merci Handsome Devil et Meriadeck.
Reply

Marsh Posté le 12-12-2011 à 09:51:43    

d:\Documents n'est pas reconnu comme commande interne

Reply

Marsh Posté le 12-12-2011 à 09:54:16    

SNY7 a écrit :

Ils sont déjà dans le même répertoire. J'ai déjà PHP avec WAMP ;


 
wamp par défaut s'installe dans c:\wamp :  
le php.exe est dans un répertoire du genre c:\wamp\apps\php\php-XX-YY\bin
 
XX-YY : version php
 
si je me souviens, je doute que php.exe soit tout seul dans "Mes Documents" de Administrateur. [:klemton]
 

SNY7 a écrit :

d:\Documents n'est pas reconnu comme commande interne


 
Il faut mettre entre guillemets doubles comme il y'a des espaces :

Citation :


"d:\Documents and Settings\Administrateur\Mes documents\php.exe"


 
edit : j'ai fait aussi la faute. :p


Message édité par FranceDenBas le 12-12-2011 à 09:55:50

---------------
"Il a inventé le bougisme : je bouge donc je suis" :sol: - Dupont-Aignan à propos de Son Altesse Sérénissime Sarkal 1er. Merci Handsome Devil et Meriadeck.
Reply

Marsh Posté le 12-12-2011 à 09:56:11    

Je dois mettre mon script et fichier bat ou alors ?

Reply

Marsh Posté le 12-12-2011 à 09:57:41    

SNY7 a écrit :

Je dois mettre mon script et fichier bat ou alors ?


 
N'importe où, ce qui importe c'est le chemin d'accès à php.exe
Déjà procédons simplement : ton wamp est installé où ?
 
edit : si tu tapes en console  

Citation :


dir "d:\Documents and Settings\Administrateur\Mes documents\php.exe"


ca donne quoi ?


Message édité par FranceDenBas le 12-12-2011 à 09:59:27

---------------
"Il a inventé le bougisme : je bouge donc je suis" :sol: - Dupont-Aignan à propos de Son Altesse Sérénissime Sarkal 1er. Merci Handsome Devil et Meriadeck.
Reply

Marsh Posté le 12-12-2011 à 09:58:36    

Reply

Marsh Posté le 12-12-2011 à 10:00:13    


 
fais un  

Citation :


dir /S /AD c:\wamp


et poste le résultat, stp.


Message édité par FranceDenBas le 12-12-2011 à 10:01:06

---------------
"Il a inventé le bougisme : je bouge donc je suis" :sol: - Dupont-Aignan à propos de Son Altesse Sérénissime Sarkal 1er. Merci Handsome Devil et Meriadeck.
Reply

Marsh Posté le 12-12-2011 à 10:00:56    

Il me mets fichier introuvable !

Reply

Marsh Posté le 12-12-2011 à 10:02:01    

SNY7 a écrit :

Il me mets fichier introuvable !


 
dir /AD c:\ donne quoi :??:


Message édité par FranceDenBas le 12-12-2011 à 10:02:34

---------------
"Il a inventé le bougisme : je bouge donc je suis" :sol: - Dupont-Aignan à propos de Son Altesse Sérénissime Sarkal 1er. Merci Handsome Devil et Meriadeck.
Reply

Marsh Posté le 12-12-2011 à 10:02:12    

j'ai pas compris ce que tu me demandes de faire ;)

Reply

Marsh Posté le 12-12-2011 à 10:02:56    

Non, il l'affiche le repertoire.

Reply

Marsh Posté le 12-12-2011 à 10:04:31    

SNY7 a écrit :

j'ai pas compris ce que tu me demandes de faire ;)


 

Code :
  1. dir /S /AD c:\wamp


liste les sous-répertoires récursivement de c:\wamp (postes la sortie de la commande ainsi que la commande tapée)
 
c'est pour chercher l'emplacement de php vérifier ça

Citation :


c:\wamp\apps\php\php-XX-YY\bin


 
:jap:
 
ensuite on mettra ce chemin comme chemin d'accès à php.exe
 
edit :

Citation :


dir /AD c:\


c'était pour voir c:\wamp vu que ton message me disait que  

Citation :


dir /S /AD c:\wamp


sortait fichier introuvable.


Message édité par FranceDenBas le 12-12-2011 à 10:07:00

---------------
"Il a inventé le bougisme : je bouge donc je suis" :sol: - Dupont-Aignan à propos de Son Altesse Sérénissime Sarkal 1er. Merci Handsome Devil et Meriadeck.
Reply

Marsh Posté le 12-12-2011 à 10:06:28    

c:\wamp\bin\php\php5.3.0

Reply

Marsh Posté le 12-12-2011 à 10:08:16    

SNY7 a écrit :

c:\wamp\bin\php\php5.3.0


 
ok.
 
Donc si tu tapes :

Code :
  1. dir c:\wamp\bin\php\php5.3.0\php.exe


 
ça affiche des informations sur php.exe, si je ne me trompes pas ?
 
si oui ton .bat sera :

Code :
  1. c:\wamp\bin\php\php5.3.0\php.exe script.php
  2. pause


 
sans guillemets car pas d'espaces, mais c'est possible de les mettre quand même.
 
edit : ils ont changé l'arborescence par rapport à mon vieux wamp. :jap:


Message édité par FranceDenBas le 12-12-2011 à 10:10:50

---------------
"Il a inventé le bougisme : je bouge donc je suis" :sol: - Dupont-Aignan à propos de Son Altesse Sérénissime Sarkal 1er. Merci Handsome Devil et Meriadeck.
Reply

Marsh Posté le 12-12-2011 à 10:10:00    

Oui 1 fichier et la taille ...

Reply

Marsh Posté le 12-12-2011 à 10:10:54    

Et le fichier bat et php je les enrengistre où ?

Reply

Marsh Posté le 12-12-2011 à 10:12:13    

SNY7 a écrit :

Et le fichier bat et php je les enrengistre où ?


 
où tu veux, l'important c'est l'emplacement du php.exe pour l'appeler correctement. :jap:


---------------
"Il a inventé le bougisme : je bouge donc je suis" :sol: - Dupont-Aignan à propos de Son Altesse Sérénissime Sarkal 1er. Merci Handsome Devil et Meriadeck.
Reply

Marsh Posté le 12-12-2011 à 10:13:52    

J'ai l'erreur suivante :
 

Code :
  1. d:\Documents and Settings\Administrateur\Mes documents>c:\wamp\bin\php\php5.3.0\
  2. php.exe script.php
  3. PHP Warning:  mysql_select_db() expects parameter 2 to be resource, boolean give
  4. n in D:\Documents and Settings\Administrateur\Mes documents\script.php on line 3
  5. Warning: mysql_select_db() expects parameter 2 to be resource, boolean given in
  6. D:\Documents and Settings\Administrateur\Mes documents\script.php on line 3
  7. Erreur select bd !
  8. d:\Documents and Settings\Administrateur\Mes documents>pause
  9. Appuyez sur une touche pour continuer...


Reply

Marsh Posté le 12-12-2011 à 10:25:31    

SNY7 a écrit :

J'ai l'erreur suivante :
 

Code :
  1. d:\Documents and Settings\Administrateur\Mes documents>c:\wamp\bin\php\php5.3.0\
  2. php.exe script.php
  3. PHP Warning:  mysql_select_db() expects parameter 2 to be resource, boolean give
  4. n in D:\Documents and Settings\Administrateur\Mes documents\script.php on line 3
  5. Warning: mysql_select_db() expects parameter 2 to be resource, boolean given in
  6. D:\Documents and Settings\Administrateur\Mes documents\script.php on line 3
  7. Erreur select bd !
  8. d:\Documents and Settings\Administrateur\Mes documents>pause
  9. Appuyez sur une touche pour continuer...




 
Bizarre : à priori il t'as renvoyé "false" sur le mysql_connect d'où le "boolean given", mais pourquoi n'a-t-il pas affiché "Erreur connexion à la bd !" :??:
sinon pour le script script.php on peut faire plus simple :

Code :
  1. <?php
  2. error_reporting(0);
  3. $db = mysql_connect('127.0.0.1', 'root', '1234');
  4. if ($db !== false){
  5.     if (mysql_select_db('ma_base',$db)){
  6.         if (! mysql_query( 'TRUNCATE table1', $db)){
  7.             echo "Erreur truncate Table1 ! => erreur [".mysql_errno($db)."] => '".mysql_error($db)."'";
  8.         }else if (! mysql_query( 'TRUNCATE table2', $db)){
  9.             echo "Erreur truncate Table2 ! => erreur [".mysql_errno($db)."] => '".mysql_error($db)."'";
  10.         }
  11.     }else{
  12.         echo "Erreur select bd ! => erreur [".mysql_errno($db)."] => '".mysql_error($db)."'";
  13.     }
  14.     mysql_close($db);
  15. }else{
  16.     echo "Erreur connexion à la bd ! => erreur [".mysql_errno()."] => '".mysql_error()."'";
  17. }
  18. ?>


ce sera plus simple pour débugger. :jap:
 
et pour le .bat

Code :
  1. @echo off
  2. c:\wamp\bin\php\php5.3.0\php.exe script.php
  3. pause


@echo off pour ne pas voir les commandes mais uniquement la sortie :jap:
 
edit2 : 'ma_base' => donner le nom de la base


Message édité par FranceDenBas le 12-12-2011 à 10:36:50

---------------
"Il a inventé le bougisme : je bouge donc je suis" :sol: - Dupont-Aignan à propos de Son Altesse Sérénissime Sarkal 1er. Merci Handsome Devil et Meriadeck.
Reply

Marsh Posté le 12-12-2011 à 10:34:44    

OK, merci, maintenant j'ai ça :

Code :
  1. PHP Parse error:  parse error in D:\Documents and Settings\Administrateur\Mes do
  2. cuments\script.php on line 2
  3. Parse error: parse error in D:\Documents and Settings\Administrateur\Mes documen
  4. ts\script.php on line 2
  5. Appuyez sur une touche pour continuer...

Reply

Marsh Posté le 12-12-2011 à 10:36:59    

Ah non, j'avais mis les numéro des lignes aussi !
C'est bon, les enrengistrements sont bien supprimés ;
Merci beaucoup FranceDenBas pour ton aide !!!!!

Reply

Marsh Posté le 12-12-2011 à 10:38:05    

edit : ok, de rien
edit2 : édites le titre du message : et mets [RESOLU] devant.
edit3 : pour supprimer les numéros de lignes : il faut double-cliquer dans le cadre au niveau du code, en étant connecté, j'arrives pas à le faire non connecté :??:
:jap:


Message édité par FranceDenBas le 12-12-2011 à 10:47:01

---------------
"Il a inventé le bougisme : je bouge donc je suis" :sol: - Dupont-Aignan à propos de Son Altesse Sérénissime Sarkal 1er. Merci Handsome Devil et Meriadeck.
Reply

Marsh Posté le 12-12-2011 à 10:50:08    

Encore une petite question, étant donné que je suis sur le serveur, si je veux que ce script soit utilisée sur d'autre PC disposant de cette BDD, je fais comment ?

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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