rectifier requêtes sur la base en PHP

Eléphanteau du PHP | 30 Messages

26 mars 2010, 12:14

Bonjour,

Je une requêtes que fonctionne comme je voudrais avec phpMyAdmin:
SELECT `type` FROM `type` WHERE 1;
update type set type='toto' where type='tata';
Mais comment fait on pour la mettre dans une requête de formulaire php, j'ai essayer ça mais s'a me renvois une erreur:
<?php
                                                 include("connexion.php");
                                                 mysql_select_db ('type') ;
			$champ2=isset($_POST['champ2'])?$_POST['champ2']:"";
			$champ3=isset($_POST['champ3'])?$_POST['champ3']:"";
			$sql = " SELECT `type` FROM `type` WHERE 1;"
        	                               "update type set type=\'Sécurité\' where type=\'tata\';"
      		                mysql_close();  
		                ?>
Après que ceci serra fait "toto" et "tata" serront remplacés par deux champs texte ($champ2 et $champ3) afin de créer un formulaire pour remplacer.

merci de votre aide

Mammouth du PHP | 672 Messages

26 mars 2010, 12:32

RTFM :evil:

1. Quelle est l'erreur renvoyée ?
2. A un moment, il faut passer la requête à MySQL. Pour ça, il y a la fonction mysql_query.

Sinon, une bête recherche sur google devrait te donner un bon nombre de tutoriels pour ce que tu veux faire.
Par exemple, sur PHPDébutant tu trouveras CA...

Eléphanteau du PHP | 30 Messages

26 mars 2010, 12:43

Bon s'est bon je viens trouver pour faire le formulaire de remplacement, voici le code qui fonctionne très bien:
<?php
 include("connexion.php");
 mysql_select_db ('type') ;
			$champ2=isset($_POST['champ2'])?$_POST['champ2']:"";
			$champ3=isset($_POST['champ3'])?$_POST['champ3']:"";
			$sql = "SELECT `type` FROM `type` WHERE 1";
			$modification = mysql_query("UPDATE type SET type='$champ2' WHERE type='$champ3'");
        	mysql_close();  
		?>

Merci de votre aide

Mammouth du PHP | 672 Messages

26 mars 2010, 13:48

Bon s'est bon je viens trouver pour faire le formulaire de remplacement, voici le code qui fonctionne très bien:
<?php
 include("connexion.php");
 mysql_select_db ('type') ;
			$champ2=isset($_POST['champ2'])?$_POST['champ2']:"";
			$champ3=isset($_POST['champ3'])?$_POST['champ3']:"";
			$sql = "SELECT `type` FROM `type` WHERE 1";
			$modification = mysql_query("UPDATE type SET type='$champ2' WHERE type='$champ3'");
        	mysql_close();  
		?>

Merci de votre aide
Juste quelques petites remarques sur le code :
1. Pense à sécuriser les données récupérées. Là, tu es vulnérable à une attaque par injection...

2. Tu peux enlever la ligne où tu assignes $sql, vu que tu n'utilises pas cette variable.

3. Ca peut être intéressant de gérer les erreurs.
if ($modification == true) {
   echo "modification faite";
}
else {
   echo "erreur, la modification n'est pas faite";
}
Et si tu ne gères pas les erreurs, il n'y a pas d'intérêt à mettre le résultat de la requête dans une vairable...

Eléphanteau du PHP | 30 Messages

26 mars 2010, 20:18

Merci pour ces détail mais on fait comment pour sécuriser les données?

Mammouth du PHP | 672 Messages

29 mars 2010, 10:50

Merci pour ces détail mais on fait comment pour sécuriser les données?
On regarde les tutoriels sur le net :roll:
Par exemple, on trouveun article sur la sécurité ICI...