IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Query was empty après requête SQL


Sujet :

PHP & Base de données

  1. #21
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 96
    Points : 48
    Points
    48
    Par défaut
    Re_bonjour à tous!
    Alors voila apres plusieures heures passées à regarder mon ancien code, j'ai fini par trouver une solution.

    Malheureusement cette solution est valable pour mon ancien code, qui utilisait les addslashes(). Donc cette solution n'est qu'une alternative, car le code n'est pas otpimal. Cependant je vous poste cette solution:
    il suffisait de gérer les insert vides avec des empty.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    //===========================
    	//déclaration des variables
    	//===========================
     
      //poste source:
      $postesource            = $_POST["poste_source"] ;
      //depart:
      $depart                 = $_POST["depart"] ;
      //N° GDO:
      $gdo                    = $_POST["num_gdo_poste_a_equiper"] ;
      //equipement à poser:
      $equipement             = addslashes($_POST["equipement_a_poser"]) ;
      //nom de poste:
      $nomposte               = addslashes($_POST["nom_de_poste"]) ;
      //N° affaire:
      $numaffaire             = addslashes($_POST["num_affaire"]) ;
      //commune:
      $commune                = addslashes($_POST["commune"]) ;
      //chargeé d affaire:
      $chargeaffaire          = addslashes($_POST["charge_affaire"]) ;
      //IPT:
      $ipt                    = addslashes($_POST["ipt"]) ;
      //Radio ou RTC:
      $radiortc               = addslashes($_POST["radio_ou_rtc"]) ;
      //position de l affaire:
      $positionaffaire        = addslashes($_POST["position_affaire"]) ;
      //Commentaires:
      $commentaires           = addslashes($_POST["commentaires"]) ;
      //Programme:
      $prg                    = addslashes($_POST["prg"]) ;
      //MEX prévue:
      $mexprevue              = addslashes($_POST["mex_prevue"]) ;
      //MEX réelle:
      $mexreelle              = addslashes($_POST["mex_reelle"]) ;
      //Mise en service:
      $miseenservice          = addslashes($_POST["mise_en_service"]) ;
      //Modification schéma d exploit:
      $modif                  = addslashes($_POST["modification_schema_exploitation"]) ;
     
    //=====================================
    // On vérifie si les champs sont vides 
    //=====================================
     
    if(empty($postesource) OR empty($depart)) 
        { 
        echo '<font color="red">Attention, les champs <u><b>Poste Source</b></u> et <u><b>Départ</b></u> ne peuvent pas rester vides !</font>' ."\n"; 
        echo '<a href="http://xxxxxx/xxxxx/xxxxx/insertion1_manche.html">Retour</a>'; 
    } 
     
    //==========================================================
    // Aucun champ n est vide, on peut enregistrer dans la table 
    //==========================================================
    else      
        { 
    	//=====================
    	//connection au serveur
    	//=====================
      $connexion = mysql_connect( "xxxxxx", "xxxxx", "xxxxx" ) ;
     
    	//=================================  
    	//sélection de la base de données:
    	//=================================
      $db  = mysql_select_db( "xxx" ) ;
     
    	//===================================
    	//récupération des valeurs des champs:
    	//===================================
     
      //création de la requête SQL:
      $sql = "INSERT  INTO suivi_omt_manche (poste_source, depart, num_gdo_poste_a_equiper, equipement_a_poser, nom_de_poste, num_affaire, commune, charge_affaire, ipt, radio_ou_rtc, position_affaire, commentaires, prg, mex_prevue, mex_reelle, mise_en_service, modification_schema_exploitation)
                VALUES ( '$postesource', '$depart', '$gdo', '$equipement', '$nomposte', '$numaffaire', '$commune', '$chargeaffaire', '$ipt', '$radiortc', '$positionaffaire', '$commentaires', '$prg', '$mexprevue', '$mexreelle', '$miseenservice', '$modif') " ;
     
     
    if($miseenservice)
    {
    $sqldatemes = "UPDATE suivi_omt_manche SET mise_en_service_date = STR_TO_DATE(mise_en_service, '%d/%m/%Y')";
    }
     
    if($mexprevue)
    {
    $sqldatemexp = "UPDATE suivi_omt_manche SET mex_prevue_date = STR_TO_DATE(mex_prevue, '%d/%m/%Y')";
    }
     
    if($mexreelle)
    {
    $sqldatemexr = "UPDATE suivi_omt_manche SET mex_reelle_date = STR_TO_DATE(mex_reelle, '%d/%m/%Y')";
    }
     
     
      //exécution de la requête SQL:
      $requete = mysql_query($sql, $connexion) or die( mysql_error() ) ;
     
      //exécution de la requête SQLDATE mise en service:
    if(empty($miseenservice)){}
    else{
      $requetedatemes = mysql_query($sqldatemes, $connexion) or die( mysql_error() ) ;
        }
     
      //exécution de la requête SQLDATE mex prévue:
    if(empty($mexprevue)){}
    else{
      $requetedatemexp = mysql_query($sqldatemexp, $connexion) or die( mysql_error() ) ;
        }
     
      //exécution de la requête SQLDATE mex reelle:
    if(empty($mexreelle)){}
    else{
      $requetedatemexr = mysql_query($sqldatemexr, $connexion) or die( mysql_error() ) ;
        }
    Voila voila, mais si tu as vu mon post précédent rawsrc, je veux bien un peu d'aide.

    Malgré que ma solution fonctionne, je préfère la tienne

    Merci

  2. #22
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    Tu te simplifierais la vie si déjà tu ne changeais pas les nom des contrôles entre le formulaire d'insertion et de modification.
    Exemple : à l'insertion tu récupères $_POST['poste_source'] et à la modification $_POST["PosteSource"] ou encore $_POST['modification_schema_exploitation'] qui devient $_POST["Modifexploit"]...

    Ne t'amuses pas trop non plus à jouer avec les minuscules/majuscules car PHP est globalement sensible à la casse. Donc une clé de tableau $tableau['a'] ne correspondra pas à $tableau['A'].
    Le plus simple : absolument tout en minuscules sauf les constantes et c'est tout. Et si tout est en minuscules, tu utilises _ le pour séparer les mots des variables comme $check_date().
    Certains opterons pour $checkDate(), personnellement je procédais ainsi avant finalement de revenir au _ (tiret bas) qui je trouve, conserve une meilleure lisibilité.
    Par contre, je conserve la notation lowerCamelCase pour ce qui est fonctions/méthodes.

    Après, reprends ton code en tenant compte de mes remarques précédentes et relis bien mon code pour réécrire la mise à jour.
    Et par pitié, pas de addslashes() pour échapper les données MySQL.

    Montre quand même que tu as compris finalement un peu mon code :snif:
    Parce que sans ça, l'utilité d'avoir résolu ton problème d'étudiant est assez limitée.

Discussions similaires

  1. Query was empty requête SQL
    Par clementdevelop dans le forum Requêtes
    Réponses: 1
    Dernier message: 17/05/2013, 16h28
  2. [PEAR][DB] Error "Query was empty"
    Par Katachana dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 21/01/2008, 15h51
  3. Ensemble de données fermé après requête SQL
    Par Eric Beaumard dans le forum Bases de données
    Réponses: 10
    Dernier message: 04/10/2007, 08h19
  4. [ADODB] erreur Query was empty
    Par JuTs dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/01/2007, 20h18
  5. [Débutant] ClassCastException après requête SQL
    Par tck-lt dans le forum Hibernate
    Réponses: 10
    Dernier message: 06/12/2006, 16h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo