Requete vide alors seconde requete

Résolu
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006 - 11 janv. 2006 à 17:39
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006 - 16 janv. 2006 à 16:46
Bonjour,

je fais une requête avec un select, ensuite si le résultat de la requete est vide alors je souhaite executer une seconde requete.
J'ai essayé ça mais ça marche pas bien !!!!
si quelqu'un pouvait m'aider !!!

$sSQL="SELECT CODE, TYPE_ELT from ".$LaTableb."
where CODE='".$CODE."' AND TYPE='".$TYPE."'";
$result= mysql($DataBase,$sSQL );
echo $sSQL;

//INSERTION D'UN NOUVEAU PERIMETRE AVEC SES ELEMENTS SI LE PERIMETRE N'EXISTE PAS

if(empty($sSQL))
{ $sSQLb="INSERT INTO ...

9 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
12 janv. 2006 à 09:33
cela doit marcher, mais c'est incorrect.
Cela ne marche pas avec l'error reporting au maximum, je pense.
si ton fetch_array ne renvoie rien, $data est false. Si $data est false, $data['CODE'] n'existe pas, donc tu assignes une variables indéfinie à une autre variable...

$sSQL="SELECT CODE, TYPE from ".$LaTableb."
where CODE='".$CODE."' AND TYPE='".$TYPE."'";
$result= mysql_query ($sSQL );
if (mysql_num_rows ($result) === 0) {
// insertion.
}
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
11 janv. 2006 à 18:03
0
cs_busbye Messages postés 5 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 11 janvier 2006
11 janv. 2006 à 22:19
Salut,

déjà essaye de faire fonctionner ta premiere requete

$sSQL="SELECT CODE, TYPE_ELT from ".$LaTableb."
where CODE='".$CODE."' AND TYPE='".$TYPE."'";
$result= mysql_db_query($DataBase,$sSQL );

et après comme te l'as dit a juste titre malamam tu utilises mysql_num_rows

$num_rows = mysql_num_rows($result);

mais attention utilise le sur $result et non pas un test sur $sSQL comme dans ton code.

@+
0
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006
12 janv. 2006 à 09:25
Est ce que cela revient au même ???? car ça semblait marcher ainsi !!!??

$sSQL="SELECT CODE, TYPE from ".$LaTableb."
where CODE='".$CODE."' AND TYPE='".$TYPE."'";
$result= mysql($DataBase,$sSQL );
$data = mysql_fetch_array($result);
$GROUPE=$data["CODE"];
//INSERTION D'UN NOUVEAU PERIMETRE AVEC SES ELEMENTS SI LE PERIMETRE N'EXISTE PAS

if(empty($GROUPE))

{ $sSQLb="INSERT INTO ".$LaTableb." .....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006
12 janv. 2006 à 09:59
pourquoi il faut mettre 3 fois = ??? dans

if (mysql_num_rows ($result) = = = 0) {
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
12 janv. 2006 à 10:03
3 = c'est strictement égal
0
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006
12 janv. 2006 à 10:27
ok merci !!!
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
12 janv. 2006 à 10:43
= compare aussi sur le type.
ne compara pas sur le type.

$var1 = '0';
$var 2 = 0;

if ($var1 == $var2) // renvoie true
if ($var1 === $var2) // renvoie false : $var1 est de type string, $var2 est de type int
0
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006
16 janv. 2006 à 16:46
je vais péter un cable !!! je ne comprends pas pourquoi ça ne marche pas là !!! il m'insère bien si ça n'existe pas par contre il ne met pas à jours si il existe !!!!

$sSQLd="SELECT CODE_REGROUPT, NOM_REGROUPT from ".$LaTabled."
where CODE_REGROUPT='".$TYPE_ELT."'";
$resultd= mysql($DataBase,$sSQLd);
echo $code;
echo $sSQLd;
$num_rows = mysql_num_rows($resultd);
echo "nombrede ligne";
echo $num_rows;


//SI L'ELEMENT N'EXISTE PAS DANS LA TABLE REGROUPT -> INSERT

if (mysql_num_rows($resultd) === 0)
{
$sSQLu="INSERT INTO ".$LaTabled."( cleUnique,
CODE_REGROUPT,
NOM_REGROUPT)
VALUES ('".$cleUnique."',
'".$TYPE_ELT."',
'".$labeltype."')";
$resultu=mysql($DataBase,$sSQLu );

echo $sSQLu;
}
else
{
$sSQLi="UPDATE ".$LaTabled."
SET NOM_REGROUPT='".$labeltype."'
where CODE_REGROUPT='".$TYPE_ELT."' ";
$resulti= mysql($DataBase,$sSQLi);
}
echo $sSLQi;
0
Rejoignez-nous