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 :

Problème avec INSERT / UPDATE [SQL-Server]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    élève ingénieur d'état génie Télécommunications et Réseaux
    Inscrit en
    Août 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : élève ingénieur d'état génie Télécommunications et Réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2011
    Messages : 21
    Par défaut Problème avec INSERT / UPDATE
    Bonjours à tous, j'espère que vous allez bien

    J'ai un petit soucis avec un bout de code de php sous un serveur sql server, qui normalement doit me permettre d'ajouter (fonction INSERT) des lignes dans une table users dans la base de donnée ctt_training, pourtant ca ne marche pas !

    P.S : j'ai le même soucis avec la fonction UPDATE :s

    ---------------------------------------------------------

    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
    <?php session_start(); // On démarre les sessions
     
    require_once("connect.php"); 
    $params = array(1, "id_dossier");
    sqlsrv_query($conn, "SET NAMES latin1_swedish_ci", $params);
     
    define ('systeme_dossiers', 0x01); // Nous définissons les constantes de droits
    define ('systeme_admin', 0x02); // Une constante = un droit
    define ('systeme_gest', 0x08); 
     
     //---Deconnexion
    if(isset($_GET['logout']))
    {
    unset($_SESSION['pseudo']);
    unset($_SESSION['password']);
    }
     
    //----Verification login
    if(!isset($_SESSION['pseudo']) AND !isset($_SESSION['password']))
    {
    header("Location:index.php");
    } 
     
      if (!((int)$_SESSION['droits'] & systeme_admin)) 
      {
    		header("Location:none.php");
    		exit;
      }
     
    $select = sqlsrv_query($conn, "SELECT * FROM permissions WHERE id='2' ", $params)or die(sqlsrv_errors()); // On sélectionne les groupes
    $donnees=sqlsrv_fetch_array($select);
     
    if(isset($_POST['submit'])) // Si le formulaire a été validé
    {
     
    		$nom_prenom=$_POST['nom_prenom'];
    		$service=$_POST['service'];
    		$pseudo = htmlspecialchars($_POST['Pseudo']); // Son pseudo
            $password = $_POST['Password']; // Son mot de passe, 
            $id_groupe = $donnees['id']; // L’ID du groupe
     
     
            $insert = sqlsrv_query($conn, "INSERT INTO users(id, nom_prenom, service, pseudo, password, id_groupe) VALUES('', '.$nom_prenom.', '.$service.', '.$pseudo.', '.$password.', '.$id_groupe.')", $params)or die(sqlsrv_errors()); // On insère le tout !
     
            if($insert) echo 'L\'ajout de l\'utilisateur a reussi !'; // Si c'est bon, message OK
            else echo 'L\'ajout de l\'utilisateur a raté !'; // Sinon, on affiche un message d'erreur
    }
    ?>
    -------------------------------------------------
    Le code ci-dessus a été d'abord réalisé sous MySQL, et donc je pense que le problème est apparu lors de la translation vers SQL SERVER, donc si quelqu'un arrive à détecter mon problème, qu'il m'aide svp

    merci d'avance

  2. #2
    Membre actif
    Homme Profil pro
    élève ingénieur d'état génie Télécommunications et Réseaux
    Inscrit en
    Août 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : élève ingénieur d'état génie Télécommunications et Réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2011
    Messages : 21
    Par défaut
    L'erreur qui s'affiche est une page blanche avec un seul mot : array()

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par abd_aabd Voir le message
    L'erreur qui s'affiche est une page blanche avec un seul mot : array()
    array() ... ou ... Array ?

    Fais-tu quelque part un echo $params; ? (c'est le seul array visible dans ton code)

    remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ... or die(sqlsrv_errors());
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ... or die('1ere requete (select) : '.sqlsrv_errors());
    ......
    ... or die('2eme requete (insert) : '.sqlsrv_errors());
    et aussi (début de script) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $params = array(1, "id_dossier");
    sqlsrv_query($conn, "SET NAMES latin1_swedish_ci", $params) or die('erreur (names) : '.sqlsrv_errors());

  4. #4
    Membre actif
    Homme Profil pro
    élève ingénieur d'état génie Télécommunications et Réseaux
    Inscrit en
    Août 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : élève ingénieur d'état génie Télécommunications et Réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2011
    Messages : 21
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    array() ... ou ... Array ?

    Fais-tu quelque part un echo $params; ? (c'est le seul array visible dans ton code)
    Je m'excuse, c'est Array et non pas array()

    Même après ton modif, je reçois la même erreur : qui est

    Notice: Undefined variable: insert in C:\wamp\www\WWWWWW\add_admin.php on line 53
    L'ajout de l'utilisateur a raté !

    et après ajout du fameux :

    or die('erreur (names) : '.sqlsrv_errors())

    Je reçois : erreur (names) : Array

  5. #5
    Membre extrêmement actif
    Avatar de kdmbella
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2010
    Messages
    799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2010
    Messages : 799
    Par défaut
    tu devrait utiliser la balise code pour rendre ton code plus lisible
    et aussi montre nous le code de la ligne 51 incriminée
    "L'humanité se divise en trois catégories : ceux qui ne peuvent pas bouger, ceux qui peuvent bouger, et ceux qui bougent."
    - Benjamin Franklin

    De l'aide en Javascript , consultez la FAQ JS.

    De l'aide sur le FrameWork JS DHTMLX : posez vos questions sur le forum des Bibliothèques & Frameworks JS.

  6. #6
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Par défaut
    Fais un echo de ta requête et exécute la directement sous sqlserver pour voir si il y'a des erreur.

  7. #7
    Membre actif
    Homme Profil pro
    élève ingénieur d'état génie Télécommunications et Réseaux
    Inscrit en
    Août 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : élève ingénieur d'état génie Télécommunications et Réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2011
    Messages : 21
    Par défaut
    Citation Envoyé par m4riachi Voir le message
    Fais un echo de ta requête et exécute la directement sous sqlserver pour voir si il y'a des erreur.
    Désolé mais ma requête est relié à un formulaire php, donc je ne peux pas l'isoler du formulaire et l'executer sur sql server management studio :s

  8. #8
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Par défaut
    Essai de faire des trace pour voir à quel ligne il s’arrête.

  9. #9
    Membre actif
    Homme Profil pro
    élève ingénieur d'état génie Télécommunications et Réseaux
    Inscrit en
    Août 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : élève ingénieur d'état génie Télécommunications et Réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2011
    Messages : 21
    Par défaut
    Citation Envoyé par m4riachi Voir le message
    Essai de faire des trace pour voir à quel ligne il s’arrête.
    Comment faire cela ? en php !

  10. #10
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par abd_aabd Voir le message
    Comment faire cela ? en php !
    Bonjour, tu ajoutes au fil de ton code (à des endroits "stratégiques") :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    //.....
    echo '1- jusqu\'ici, ca va';
    //.....
    echo '2- jusqu\'ici, ca va encore';
    //.....
    echo '3- jusqu\'ici, ca va toujours';
    //.....
    ?>
    Tu verras bien où ca coince ...

    Je ne connais pas SQLSRV mais ...
    INSERT ou UPDATE : tu n'as AUCUNE protection contre les injections SQL ?
    -> équivalent à mysql_real_escape_string() ?
    - sqlsrv_prepare() ?

  11. #11
    Membre actif
    Homme Profil pro
    élève ingénieur d'état génie Télécommunications et Réseaux
    Inscrit en
    Août 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : élève ingénieur d'état génie Télécommunications et Réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2011
    Messages : 21
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Bonjour, tu ajoutes au fil de ton code (à des endroits "stratégiques") :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    //.....
    echo '1- jusqu\'ici, ca va';
    //.....
    echo '2- jusqu\'ici, ca va encore';
    //.....
    echo '3- jusqu\'ici, ca va toujours';
    //.....
    ?>
    Tu verras bien où ca coince ...

    INSERT ou UPDATE : tu n'as AUCUNE protection contre les injections SQL
    -> équivalent à mysql_real_escape_string() ?
    - sqlsrv_prepare() ?
    Merci pour ta réponse, c'est génial, et ca me remonte des erreurs ! ooof
    excusez moi, mais je commence à me douter que $_POST fonctionne bien sur SQL SERVER !!

    Notice: Undefined variable: insert in C:\wamp\www\WWWWWW\add_admin.php on line 51

    Je comprends pas pourquoi ? y a t il un problème de syntaxe dans ma requete insert ou quoi ? help please

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB6] Problème avec insertion d'icônes dans menu
    Par marsup54 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 02/03/2006, 21h38
  2. [VB6] Problème avec requête Update
    Par bb62 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 02/02/2006, 03h40
  3. Réponses: 12
    Dernier message: 25/11/2005, 12h29
  4. Réponses: 3
    Dernier message: 10/05/2005, 11h02
  5. STL : std::set problème avec insert ...
    Par Big K. dans le forum MFC
    Réponses: 13
    Dernier message: 08/11/2003, 01h02

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