Requete non executé

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Requete non executé

par AB » 08 mai 2008, 22:01

Oui et de toutes façons apprendre à debugguer fait gagner énormément de temps par la suite dans des scripts un peu complexes.

Alors si c'est résolu tu cliques sur résolu ?

par animithra » 08 mai 2008, 21:42

D'où l'utilité de toujours mettre un else après un if, c'est un bon réflexe à prendre.

N'ai pas honte, c'est en faisant des erreurs qu'on apprend.

Bonne continuation et bonne programmation !

par orgerix » 08 mai 2008, 21:36

J'ai honte...

Me suis trompé de champs sur la condition, et j'avais testé sans la condition... :oops: :oops:

par AB » 08 mai 2008, 21:24

Si quand tu lance ta requête dans phpmyadmin tout fonctionne, apparemment ça ne vient pas de la requête mais du code qu'il y a autour. Quoi te dire sinon qu'il faut débugguer en vérifiant le contenu des variables et en regardant ce que donne echo($requete); :-k

EDIT j'ai posté en même temps que le message d'animithra que je n'avais pas vu. Effectivement en suivant ses conseils tu sera mieux averti si quelque chose cloche dans la connexion ou la requête. Mais il est très possible aussi que le pb soit ailleurs.

par animithra » 08 mai 2008, 21:22

Bonsoir.

Par expérience je donnerais déjà un petit conseil :

Lorsque vous devez exécuter des requetes SQL, voici une méthode de rédaction un peu plus adaptée :

//ouverture de la connexion
mysql_connect($host,$user,$pwd) OR DIE('serveur introuvable');
//selection de la base
mysql_select_db($base) OR DIE ('base introuvable');

//ecriture de la requete
$sql = "la requete sql";
//envoi de la requete
$req = mysql_query($sql) OR DIE('impossible d'envoyer la requete');

//fermeture connexion
mysql_close();

L'avantage c'est que lorsque le problème intervient dans la connexion ou dans l'envoi de la requete, on le sait grâce aux différents DIE();

Dans ton cas la requete est bien écrite mais est-tu sûr que tu rentres dans ton if ?

Je te conseille pour chaque if de placer un else avec un print("condition truc pas respectée"); je pense que tu trouveras plus facilement d'où vient le problème.

De même, tu devrais faire un print du contenu de ta variable requete pour savoir si elle est bien implémentée et contient ce que tu attends qu'elle contienne.

Bonne soirée et bonne programmation.

Requete non executé

par orgerix » 08 mai 2008, 20:21

Bonjour,

J'ai un petit problème. J'ai l'impression que les requetes SQL ne sont pas executés... Lorsque j'utilise la fonction mysql_query(), ca ne change rien, mais je n'ai aucune erreurs, mais lorsque je lanse la requete directement par PHPMyAdmin, ca donne le résultat voulu. En plus, c'est le seul script qui me donne un tel resultat.
$requet="UPDATE planning SET ";
$i=0;
$num=count($_POST)-1;
foreach ($_POST as $key=>$value) {
	if($key!='ID') {
		$key=ereg_replace("_"," ",$key);
		$key=stripslashes($key);
		$key="`".$key."`";
		$requet.="$key='$value'";
		$i++;
		if ($i<$num) {
			$requet.=",";
		}
		if($value!='') {
			$requete="DELETE FROM postul WHERE cours='".$key."' AND semaine=".mysql_real_escape_string($_POST['ID'],$connexion);
			mysql_query($requete,$connexion) or die(mysql_error());
		}
	}
}
$requet.=" WHERE semaine=".mysql_real_escape_string($_POST['ID']);
print($requet);
$result=mysql_query($requet,$connexion) or die(mysql_error());
Aucune requete n'est apparament executé...