[SQL]Erreur mysql_num_rows ??

Fermé
alucard67 Messages postés 37 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 1 juin 2007 - 1 juin 2007 à 17:41
Jean-François Pillou Messages postés 18707 Date d'inscription lundi 15 février 1999 Statut Webmaster Dernière intervention 16 février 2023 - 1 juin 2007 à 17:43
Bonjour ,une fois de plus me voici sur ce forum pour trouver de l'aide
Alors, j'ai un message d'erreur que je n'arive pas trop à cerner:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\ajoutbase.php on line 66
Erreur de syntaxe près de '.33.253' à la ligne 1
Les informations on été ajoutées. 



et la ou ya marqué .33.253 c'est en fait les deux derniers octet de l'adresse ip que je rentre, mais je sais pas ce qui cloche.

mon script est le suivant:

set_time_limit(240);
$IP2 =$_POST['IP2'];
$nom2=$_POST['nom2'];



//On se connecte a la bdd 
$db = mysql_connect('127.0.0.1', '***', '*****')  or die('Erreur de connexion '.mysql_error());
// sélection de la base  

mysql_select_db('projet',$db)  or die('Erreur de selection '.mysql_error()); 




$req = mysql_query('SELECT IP FROM equipements WHERE IP ='.$IP2.''); 
$num = mysql_num_rows($req); 
echo mysql_error().'</br>';
if ($num == 0) 
{ 


//////////////////////////////ECRITURE DANS LA BASE DE DONNEES////////////////////////////////////////////////////////////////////


$db = mysql_connect('127.0.0.1', 'root', 'dutr&t')  or die('Erreur de connexion '.mysql_error());
// sélection de la base  

mysql_select_db('projet',$db)  or die('Erreur de selection '.mysql_error()); 



//////////////////////////AJOUT DES INFOS DANS LA TABLE EQUIPEMENTS/////////////////////////////////


$sql2 = "INSERT INTO equipements(ID_E, IP, marque, nom) VALUES('','$IP2','Motorola','$nom2')";
mysql_query($sql2) or die('Erreur SQL dans la table Equipement !'.$sql2.'<br>'.mysql_error()); 

//On récupère l'id
$idequip=mysql_insert_id();

///////////// //////////////////////////AJOUT DES INFOS DANS LA TABLE CARTES/////////////////////////////////////////////

for ($i=1;$i<=16;$i++) 
{
//Lecture de fichiers
$description=lire_ligne('reponse_snmp_motorola.txt',$i+16);
$serial=lire_ligne('reponse_snmp_motorola.txt',$i+32);
$HW=lire_ligne('reponse_snmp_motorola.txt',$i+48);
$SW=lire_ligne('reponse_snmp_motorola.txt',$i+64);
$sql = "INSERT INTO cartes(ID_C, description, serial, HW_version, SW_version,ID_E) VALUES('','$description','$serial','$HW','$SW','$idequip')";

// on insère les informations dans la table
mysql_query($sql) or die('Erreur SQL dans la table Carte !'.$sql.'<br>'.mysql_error());


}

mysql_close();  // on ferme la connexion 
echo 'Les informations on été ajoutées.';   // on affiche le résultat pour le visiteur 

} 
else 
{ 


$reponse4 = mysql_query("SELECT ID_E FROM equipements WHERE IP='$IP2'"); // Requête SQL


while ($donnees4 = mysql_fetch_array($reponse4) )
{
$ID_equipements=$donnees4['ID_E'];
}


for ($j=1;$j<=16;$j++) 
{
//Lecture de fichiers
$description2=lire_ligne('reponse_snmp_motorola.txt',$j+16);
$serial2=lire_ligne('reponse_snmp_motorola.txt',$j+32);
$HW2=lire_ligne('reponse_snmp_motorola.txt',$j+48);
$SW2=lire_ligne('reponse_snmp_motorola.txt',$j+64);

echo $description2.'</br>';
echo $serial2.'</br>';
echo $HW2.'</br>';
echo $SW2.'</br>';

$sql4 ="UPDATE cartes SET description='$description2', serial='$serial2', HW_version='$HW2', SW_version='$SW2' WHERE ID_E='$ID_equipements'"; 

// on insère les informations dans la table
mysql_query($sql4) or die('Erreur SQL dans la table Carte !'.$sql4.'<br>'.mysql_error());

}

mysql_close();  // on ferme la connexion 
echo 'Les données concernant l\'adresse IP: ' .$_POST['IP2']. ' existait déjà, elles ont été mise a jour.'; // on affiche le résultat pour le visiteur 

}


voila donc en fait le but est dabord de voir dans l base si l'adresse IP rentré existe deja dans la table equipement et si el existe pas bein on rempli la table carte , et si el existe on met a jour la table carte.
pour le remplissage pas de probleme sa marche mais j'ai quand meme l'erreur , et pour la mise a jour sa marche pas sa me met nimporte quoi dans la base et j'ai l'erreur la qui y est pour quelque chose je suis sure car la syntaxe est identique.

BREF , je comprend pu , donc si qulqu'un pouvais me sortir du petrin dans lequel je suis ce serai tres tres gentil.

Voila merci d'avance !!!

1 réponse

Jean-François Pillou Messages postés 18707 Date d'inscription lundi 15 février 1999 Statut Webmaster Dernière intervention 16 février 2023 63 273
1 juin 2007 à 17:43
$req = mysql_query('SELECT IP FROM equipements WHERE IP ="'.$IP2.'"'); 
0
Jean-François Pillou Messages postés 18707 Date d'inscription lundi 15 février 1999 Statut Webmaster Dernière intervention 16 février 2023 63 273
1 juin 2007 à 17:43
Il faut entourer l'IP de guillemets !
0