probleme avec mon code php

apimero
Invité n'ayant pas de compte PHPfrance

12 nov. 2012, 10:31

Bonjour a tous, je suis débutant en php. j'ai un gros souci, j'ai écris un code php qui prend en entrée la deuxième valeur du contenu d'un sms et va recherché les infos concernant ce numéro dans la base de donnée. voici ce code:

<?php
$server="localhost";
$password="123456";
$username="root";
$dbname="playsms";

//connexion à la base de donnée playsms

$link=mysql_connect($server,$username,$password);
if(!$link){
die("Echec de connexion au serveur de base de donnée:".mysql_error());
}

//choix de la base de donnée
mysql_select_db($dbname);
$sender = mysql_escape_string($_GET['emetteur']);
$var=' ';
$emetteur=(string)trim(strstr($sender,$var));

//création et execution de la requete sql

$query = "SELECT * FROM JDOSSIER WHERE NUM_DOSSIERS=".trim($emetteur);

$result=mysql_query("$query");

//traitement du résultat

$donnee=mysql_fetch_assoc($result);
if(!empty($donnee)){

echo $donnee["CIVILITE"]." ".$donnee["PRENOM_REQUERANT"]." ".$donnee["NOM_REQUERANT"]." votre dossier de ".$donnee["OBJET"]." est ".$donnee["CODE_SITU"]." depuis le ".$donnee["DATE_SITU"];
}
else {echo "Numero errone";}
//libération des ressources et fermeture de la connexion
mysql_free_result($result);
mysql_close($link);
?>
Cependant, lorsque j'envoie une requete par sms ça revoi la réponse de l'echo else {echo "Numero errone";}.
je ne sais quoi faire, je me dis que s'a ne prend pas en compte la condition if, ou bien la variable $donnee est tjrs vide c'est pour cette raison que s'a renvoie l'echo du numero érroné.Please help me. i count for you

ViPHP
xTG
ViPHP | 7331 Messages

12 nov. 2012, 12:36

Affiches les variable $emetteur et $sender pour trouver l'erreur.

Petit nouveau ! | 9 Messages

12 nov. 2012, 15:11

Bonjour,

Les guillemets n'a pas besoin d'être utiliser dans cette ligne:
$result=mysql_query("$query");
Je pense que l'erreur se trouve dans la variable émetteur, mais je peux me tromper...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

12 nov. 2012, 21:46

salut,

le NUM_DOSSIERS, dans la base, c'est un entier ou une chaîne de caractère ?
si c'est une chaine de caractères ta requete n'est pas bonne, tu devrais avoir une erreur. Si ce n'est pas le cas modifie l'error_reporting à E_ALL !

comme l'indique xTG, commence par afficher les variables, ainsi que la requête sql pour l'essayer dans un client SQL.

tu peux utiliser var_dump pour cela.

par exemple : var_dump($emetteur,$query);

avant le mysql_query().

ton code peux être comme ça :
<?php
$server="localhost";
$password="123456";
$username="root";
$dbname="playsms";

//connexion à la base de donnée playsms

$link=mysql_connect($server,$username,$password);
if(!$link){
	die("Echec de connexion au serveur de base de donnée:".mysql_error());
}

//choix de la base de donnée
mysql_select_db($dbname);
if(empty($_GET['emetteur']))
	exit; // c'est brutal, a remplacer par une gestion d'erreur correct.
$var=' ';
$emetteur=trim(strstr($_GET['emetteur'],$var));

//création et execution de la requete sql

$query = "SELECT * FROM JDOSSIER WHERE NUM_DOSSIERS=".mysql_real_escape_string($emetteur);

$result=mysql_query($query);
echo '<pre>';
var_dump($_GET,$emetteur,$query,$result);
echo '</pre>';
if($result === false){
	// Erreur à gérer correctement
	echo "Numero errone";
}
else {
	//traitement du résultat
	$donnee=mysql_fetch_assoc($result);
		echo $donnee["CIVILITE"]." ".$donnee["PRENOM_REQUERANT"]." ".$donnee["NOM_REQUERANT"]." votre dossier de ".$donnee["OBJET"]." est ".$donnee["CODE_SITU"]." depuis le ".$donnee["DATE_SITU"];
	//libération des ressources et fermeture de la connexion
	mysql_free_result($result);
	mysql_close($link);
}
?>

@+
Il en faut peu pour être heureux ......

Mammouth du PHP | 2278 Messages

12 nov. 2012, 22:52

Bonjour,

Les guillemets n'a pas besoin d'être utiliser dans cette ligne:
$result=mysql_query("$query");
Je pense que l'erreur se trouve dans la variable émetteur, mais je peux me tromper...
une fois de plus:
print "$query";
$result=mysql_query("$query");
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD