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

PostgreSQL Discussion :

probleme insert into dans phppgadmin


Sujet :

PostgreSQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    etudiant en BTS SIO
    Inscrit en
    Juin 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : etudiant en BTS SIO

    Informations forums :
    Inscription : Juin 2012
    Messages : 20
    Points : 15
    Points
    15
    Par défaut probleme insert into dans phppgadmin
    Bonjour, j'ai un soucis avec phppgadmin sur nerim.
    j'ai codé un script tout bête pour insérer des données dans une bdd en traitant un fichier .txt.
    Je l'ai testé en local sur Mysql et ça fonctionne super bien, l'insertion se fait. Cependant des que je lance le script pour faire l'insertion a ma bdd sur postgresql, rien ne se fait et pourtant je n'ai aucune erreur de détecté... J'ai bien les bon id, le bon serveur bref impossible de savoir quel est l'erreur. J'ai bien entendu effectué pleins de tests pour vérifier la connexion, ainsi que l’exécution de la requête avec succès. Ma requête est bien sur correcte puisque j'ai réussi a l’exécuter en local sur MySql.
    Voila, donc impossible de savoir pourquoi ça ne fonctionne pas :/

    Je vous met le code:
    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
    <?php
     
    $fichier = 'contact.txt'; 
    $contenu_array = file($fichier);
    $connexion = mysql_connect( "...sql.nerim.net", "", "" ) ;
    $db  = mysql_select_db( "mycompany" ) ;
     
    foreach($contenu_array as $element)
    {
        $data = explode("|", $element);
    	$id=count($element);
    	$sql_insert = ("INSERT INTO fiche_client (id_client, date_entree) VALUES (default,'".$data[1]."');");
    	mysql_query($sql_insert, $connexion);
    }
    mysql_close($connexion);
     
    ?>
    Ne vous étonnez pas des parties vides dans le champs de connexion, c'est normal, je dois garder ça secret, je suis en stage.

    Je suis un grand débutant dans ce domaine et j'ai vraiment besoin d'aide.
    Merci d'avance

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    Le bout de code montré appelle des fonctions mysql_* qui ne fonctionnent qu'avec un serveur mysql.

    Pour que le même code PHP fonctionne à la fois avec postgres et mysql il faudrait plutôt utiliser PDO.

  3. #3
    Membre à l'essai
    Homme Profil pro
    etudiant en BTS SIO
    Inscrit en
    Juin 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : etudiant en BTS SIO

    Informations forums :
    Inscription : Juin 2012
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par estofilo Voir le message
    Pour que le même code PHP fonctionne à la fois avec postgres et mysql il faudrait plutôt utiliser PDO.
    J'avou xD j'y ai même pas pensé, mais je sais pas trop bien m'en servir.
    Merci en tt cas.

    EDIT: ça fonctionne pas, je dois m'en passer car je crois qu'il faut installer des drivers pour utiliser PDO il me semble, d'autant plus que je ne suis pas admin du serveur.
    Pour info j'utilise pgsql sur un serveur Nerim.
    Bref je suis bloqué et j'arrive pas à me servir des fonctions de pgsql du style pg_connect() ou autre... Bref, si quelqu'un peut juste remplacer mes fonctions dans mon script par les bonnes ça m'aiderais beaucoup.
    Merci d'avance

  4. #4
    Membre à l'essai
    Homme Profil pro
    etudiant en BTS SIO
    Inscrit en
    Juin 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : etudiant en BTS SIO

    Informations forums :
    Inscription : Juin 2012
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    Bon finalement j'ai réussi à changer les fonctions, j'ai un peu honte d'ailleurs car c'était vraiment bidon xD. Donc ça doit fonctionner...
    Eh ben non j'ai une belle erreur que voici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: pg_query(): supplied argument is not a valid PostgreSQL link resource in /filer/m/testsql.php on line 8

    je vous remet le bon script cette fois:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
     
    $fichier = 'contact.txt'; 
    $contenu_array = file($fichier);
    $connexion = pg_connect( "host=mycompany.sql.nerim.net port=5432 dbname=mycompany user=xxxxxx password=xxxxx" )or die("Connexion impossible");
    echo 'Connexion réussie';
    $sql_insert = ("INSERT INTO fiche_client (id_client, date_entree) VALUES (default,'".$data[1]."');");
    	pg_query($sql_insert, $connexion);
     
    pg_close($connexion);
     
    ?>
    Merci pour votre aide et bonne année 2013

  5. #5
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Bonjour,

    Commencez par lire la doc de pg_query et vous trouverez assez rapidement.

  6. #6
    Membre à l'essai
    Homme Profil pro
    etudiant en BTS SIO
    Inscrit en
    Juin 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : etudiant en BTS SIO

    Informations forums :
    Inscription : Juin 2012
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par punkoff Voir le message
    Bonjour,

    Commencez par lire la doc de pg_query et vous trouverez assez rapidement.
    Salut punkoff, merci de ta réponse. C'est ce que j'ai fais c'est pour cela que j'utilise pg_query ou pg_exec. Par contre j'ai oublié de préciser un truk, j'ai fais des recherches sur mon erreur. Et sur un autre forum la personne disais que c'est un problème de droits.
    Sachant que je suis pas admin je crois bien que c'est foutu :s

  7. #7
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    nan,

    vous avez juste inversé les paramétrés d'entrée de la méthode.
    +

  8. #8
    Membre à l'essai
    Homme Profil pro
    etudiant en BTS SIO
    Inscrit en
    Juin 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : etudiant en BTS SIO

    Informations forums :
    Inscription : Juin 2012
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    Haha oui exact dsl d’ailleurs je l'ai vu direct en plus et corrigé rapidement mais j'ai oublié d'éditer mon message :s
    Bref j'ai encore eu une autre erreur concernant le type de données de ma table id étant également ma clef primaire. Lors du create j'avais pourtant mis serial mais c'est un integer que je dois utiliser ce qui m'étonne un peu, j’avoue ne pas bien comprendre... Bref, au moins c'est bon ça marche niquel la.
    Merci à vous

  9. #9
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Comme d'hab la doc (google : postgresql serial) :
    http://www.postgresql.org/docs/8.1/s...ATATYPE-SERIAL

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

Discussions similaires

  1. [Débutant] Probleme d'Insert into dans acces bdd
    Par killowatt dans le forum Accès aux données
    Réponses: 5
    Dernier message: 13/11/2014, 15h36
  2. [C#]Probleme INSERT INTO dans un .DBF
    Par Franckyfare dans le forum C#
    Réponses: 0
    Dernier message: 07/03/2014, 18h13
  3. Syntaxe requete SQL insert into dans VBA
    Par @rkane dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 12/12/2006, 22h03
  4. [MySQL] insert into dans un for
    Par pimpmyride dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/12/2005, 17h55
  5. probleme insert into
    Par w.b. dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/02/2005, 10h34

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