Comparaison de requete SQL - Page 2

Résolu
  1. Avant j'y rentrais de sur, maintenant on dirais que non.

    voici le code :

    <?php
    //script de connexion à la base sous SQLServer
    include("connexion.inc");

    //connexion à la base de données
    $con=mssql_connect($host,$user,$pass)or die ("Probleme de connexion au serveur");
    mssql_select_db($BDD,$con)or die ("Problème d'accès à la base de données bdd_test_pilotes");

    //récupération des données formulaire
    $table="pilotes";
    $nom=""; if(!empty($_POST["fnom"]))
    $nom=$_POST["fnom"];
    $prenom=""; if(!empty($_POST["fprenom"]))
    $prenom=$_POST["fprenom"];
    $date=""; if(!empty($_POST["fdate"]))
    $date=$_POST["fdate"];

    //controle
    $query = "SELECT nom, prenom, date_naissance FROM".$table."WHERE nom='".$nom."' AND prenom='".$prenom."' AND date_naissance='".$date."'";

    if(($nom!='')&&($prenom!='')&&($date=''))
    {
    $result = mssql_query($query, $con);
    if (mssql_num_rows($result) != 0)
    {
    echo "Enregistrement déjà présent dans la base de données.";

    }
    else
    {
    if(!mssql_query("insert into ".$table."(code, nom, prenom, date_naissance) values ('000002', '".$nom."', '".$prenom."', '".$date."')", $con))
    {
    echo("erreur");
    }
    else
    {
    echo("c'est bon");
    }
    }
    }

    @mssql_close(); // Fermeture de la connexion
    ?>
    0
    1. Essaye ceci... (code reformaté avec quelques modifs)... Et dis moi ce qui s'affiche.

      <?php
      //script de connexion à la base sous SQLServer
      include("connexion.inc");
      
      //connexion à la base de données
      $con = mssql_connect($host,$user,$pass)or die ("Probleme de connexion au serveur");
      mssql_select_db($BDD,$con)or die ("Problème d'accès à la base de données bdd_test_pilotes");
      
      //récupération des données formulaire
      $table="pilotes";
      $nom="";
      if(!empty($_POST["fnom"]))
      {
      	$nom=$_POST["fnom"];
      }
      $prenom="";
      if(!empty($_POST["fprenom"]))
      {
      	$prenom=$_POST["fprenom"];
      }
      $date="";
      if(!empty($_POST["fdate"]))
      {
      	$date=$_POST["fdate"];
      }
      
      //Test des valeurs reçues
      echo("Nom : " . $nom . "<br />Prenom : " . $prenom . "<br />Date naiss. :" . $date);
      
      //Requete SQL pour test
      $query = "SELECT * FROM " . $table . " WHERE nom='" . $nom . "' AND prenom='" . $prenom . "' AND date_naissance='" . $date . "'";
      
      if(($nom!='')&&($prenom!='')&&($date=''))
      {
      	$result = mssql_query($query, $con);
      	if (mssql_num_rows($result) != 0)
      	{
      		echo "Enregistrement déjà présent dans la base de données.";
      	}
      	else
      	{
      		if(!mssql_query("INSERT INTO " . $table . "(code, nom, prenom, date_naissance) VALUES ('000002', '" . $nom . "', '" . $prenom . "', '" . $date . "')", $con))
      		{
      			echo("erreur");
      		}
      		else
      		{
      			echo("c'est bon");
      		}
      	}
      }
      
      mssql_close(); // Fermeture de la connexion
      ?>
      0
      1. ya du mieu

        Ca m'affiche les champs saisis dans le formulaire.
        0
        1. Et ce code affiche quoi:

          <?php
          //script de connexion à la base sous SQLServer
          include("connexion.inc");
          
          //connexion à la base de données
          $con = mssql_connect($host,$user,$pass)or die ("Probleme de connexion au serveur");
          mssql_select_db($BDD,$con)or die ("Problème d'accès à la base de données bdd_test_pilotes");
          
          //récupération des données formulaire
          $table="pilotes";
          $nom="";
          if(!empty($_POST["fnom"]))
          {
          	$nom=$_POST["fnom"];
          }
          $prenom="";
          if(!empty($_POST["fprenom"]))
          {
          	$prenom=$_POST["fprenom"];
          }
          $date="";
          if(!empty($_POST["fdate"]))
          {
          	$date=$_POST["fdate"];
          }
          
          //Test des valeurs reçues
          echo("Nom : " . $nom . "<br />Prenom : " . $prenom . "<br />Date naiss. :" . $date);
          
          //Requete SQL pour test
          $query = "SELECT * FROM " . $table . " WHERE nom='" . $nom . "' AND prenom='" . $prenom . "' AND date_naissance='" . $date . "'";
          
          if(($nom!="")&&($prenom!="")&&($date!=""))
          {
          	$result = mssql_query($query, $con);
          	echo("Nb enregistrement(s) trouv&eacute;(s): ". mssql_num_rows($result));
          	if (mssql_num_rows($result) != 0)
          	{
          		echo "Enregistrement déjà présent dans la base de données.";
          	}
          	else
          	{
          		if(!mssql_query("INSERT INTO " . $table . "(code, nom, prenom, date_naissance) VALUES (NULL, '" . $nom . "', '" . $prenom . "', '" . $date . "')", $con))
          		{
          			echo("erreur");
          		}
          		else
          		{
          			echo("c'est bon");
          		}
          	}
          }
          
          mssql_close(); // Fermeture de la connexion
          ?>
          0
          1. Attention à la faute de frappe dans le code de Benno
            if(($nom!='')&&($prenom!='')&&($date!=''))
            0
            1. euh pareil, les champs du formulaires
              0
              1. Bien vu l'erreur vient sans doute de cet oubli!
                0
            2. Une dernière tentative...:

              <?php
              //script de connexion à la base sous SQLServer
              include("connexion.inc");
              
              //connexion à la base de données
              $con = mssql_connect($host,$user,$pass)or die ("Probleme de connexion au serveur");
              mssql_select_db($BDD,$con)or die ("Problème d'accès à la base de données bdd_test_pilotes");
              
              //récupération des données formulaire
              $table="pilotes";
              $nom="";
              if(!empty($_POST["fnom"]))
              {
              	$nom=$_POST["fnom"];
              }
              $prenom="";
              if(!empty($_POST["fprenom"]))
              {
              	$prenom=$_POST["fprenom"];
              }
              $date="";
              if(!empty($_POST["fdate"]))
              {
              	$date=$_POST["fdate"];
              }
              
              //Test des valeurs reçues
              echo("Nom : " . $nom . "<br />Prenom : " . $prenom . "<br />Date naiss. :" . $date);
              
              //Requete SQL pour test
              $query = "SELECT * FROM " . $table . " WHERE nom='" . $nom . "' AND prenom='" . $prenom . "' AND date_naissance='" . $date . "'";
              
              if(strlen($nom)!=0)&&(strlen($prenom)!=0)&&(strlen($date)!=0))
              {
              	$result = mssql_query($query, $con);
              	echo("Nb enregistrement trouv&eacute;(s): ". mssql_num_rows($result));
              	if (mssql_num_rows($result) != 0)
              	{
              		echo "Enregistrement déjà présent dans la base de données.";
              	}
              	else
              	{
              		if(!mssql_query("INSERT INTO " . $table . "(code, nom, prenom, date_naissance) VALUES ('000002', '" . $nom . "', '" . $prenom . "', '" . $date . "')", $con))
              		{
              			echo("erreur");
              		}
              		else
              		{
              			echo("c'est bon");
              		}
              	}
              }
              
              mssql_close(); // Fermeture de la connexion
              ?>
              0
              1. ah ! changement ...

                en plus des champs j'ai : NB enregistrements trouvés = 0 erreur
                0
                1. Attention la requete INSERT INTO a la fin a été modifiée, recopie bien tout:

                  <?php
                  //script de connexion à la base sous SQLServer
                  include("connexion.inc");
                  
                  //connexion à la base de données
                  $con = mssql_connect($host,$user,$pass)or die ("Probleme de connexion au serveur");
                  mssql_select_db($BDD,$con)or die ("Problème d'accès à la base de données bdd_test_pilotes");
                  
                  //récupération des données formulaire
                  $table="pilotes";
                  $nom="";
                  if(!empty($_POST["fnom"]))
                  {
                  	$nom=$_POST["fnom"];
                  }
                  $prenom="";
                  if(!empty($_POST["fprenom"]))
                  {
                  	$prenom=$_POST["fprenom"];
                  }
                  $date="";
                  if(!empty($_POST["fdate"]))
                  {
                  	$date=$_POST["fdate"];
                  }
                  
                  //Test des valeurs reçues
                  echo("Nom : " . $nom . "<br />Prenom : " . $prenom . "<br />Date naiss. :" . $date);
                  
                  //Requete SQL pour test
                  $query = "SELECT * FROM " . $table . " WHERE nom='" . $nom . "' AND prenom='" . $prenom . "' AND date_naissance='" . $date . "'";
                  
                  if(strlen($nom)!=0)&&(strlen($prenom)!=0)&&(strlen($date)!=0))
                  {
                  	$result = mssql_query($query, $con);
                  	echo("Nb enregistrement trouv&eacute;(s): ". mssql_num_rows($result));
                  	if (mssql_num_rows($result) != 0)
                  	{
                  		echo "Enregistrement déjà présent dans la base de données.";
                  	}
                  	else
                  	{
                  		if(!mssql_query("INSERT INTO " . $table . "(code, nom, prenom, date_naissance) VALUES (NULL, '" . $nom . "', '" . $prenom . "', '" . $date . "')", $con))
                  		{
                  			echo("erreur");
                  		}
                  		else
                  		{
                  			echo("c'est bon");
                  		}
                  	}
                  }
                  
                  mssql_close(); // Fermeture de la connexion
                  ?>
                  0
                  1. Woah trop de la boulette ca marche, le nouvel enregistrement s'insere dans la table.

                    Un immense merci à toi !!!!!!

                    C'etait quoi qui allait pas ???
                    0
                    1. Il faut laisser faire l'auto-incrément de la table lors de l'insertion (donc mettre NULL en premier paramètre et non 0002).
                      @+ n'oublie pas de marquer comme résolu.
                      0
                      1. ah ok, je vois.

                        Merci bcp en tout cas.
                        0
                        Précédent
                        • 1
                        • 2