Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & PostgreSQL
PHP & PostgreSQL Forum d'entraide sur PostgreSQL avec PHP. Avant de poster -> FAQ PostgreSQL, Cours PostgreSQL. Pour les questions concernant le moteur PostgreSQL plutôt que les fonctions PHP, merci d'utiliser le forum PostgreSQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/07/2006, 10h17   #1
Nouveau Membre du Club
 
Avatar de bambou
 
Inscription : mars 2004
Messages : 192
Détails du profil
Informations personnelles :
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : mars 2004
Messages : 192
Points : 36
Points : 36
Envoyer un message via AIM à bambou Envoyer un message via MSN à bambou Envoyer un message via Skype™ à bambou
Par défaut [PostgeSQL] Invalid link ressource

Bonjour,

Je suis en train d'essayer de faire deux INSERT consecutifs en php dans une base postgreSQL
Je souhaite demarrer une transaction, faire une premiere insertion puis faire un select pour recuperer l'identifiant du tupple que je vien d'inserer et enfin faire une deuxieme insertion utilisant l'identifiant fraichement recupere

voici le code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
pg_query($conn,"begin");
    $result=pg_query($conn,$queryXtal);
    if (!$result){
        pg_query($conn,"rollback");
        echo "<font class='titley2'>Fail to insert the hit !</font>";
    }else{
      // Recuperation identifiants du crystal & insertion dans table Sample Drop has crystal
      $queryXtal = "SELECT idCrystal FROM Crystal WHERE CrystalDate='$time' AND CrystalType_idCrystalType=$crystalType AND Morphology_idMorphology=$morphology AND Structure_idStructure=$structure AND GrowthTime=$growthtime AND CrystalLength= $xtlength AND CrystalWidth=$xtwidth AND CrystalDepth=$xtdepth";
      $arrayXtal = pgsql_select($conn, $queryXtal); // Fonction perso qui effectue un SELECT et renvoi un tableau a deux dimentions
      $idXtal = $arrayXtal[0][0];
        //insert Sample_Has_drop reference
      $querySampleDropHasXtal = "INSERT INTO SampleDrop_Has_Crystal(Crystal_CrystalDate, Crystal_idCrystal, SampleDrop_idSampleDrop) VALUES('$time',$idXtal, $idSampleDrop)";
      echo "\nQuery SampleDropHasXtal=\n".$querySampleDropHasXtal;
 
      $result1=pg_query($db,$querySampleDropHasXtal);
      if (!$result1){
          pg_query($conn,"rollback");
          echo "<font class='titley2'>Fail to insert the hit !</font>";
      }else{
        pg_query($conn,"commit");
        echo "<font class='titley2'>New Hit saved, thanks you!</font>";
      }
    }
Ca plante sur le deuxieme INSERT l'erreur renvoye est la suivante ;
Citation:
Warning: pg_query(): supplied argument is not a valid PostgreSQL link resource in /var/www/html/htxlab/hitTracking/php/model.php on line 247
j'ai pourtant tester d'inserer manuelement dans psql un echo du 2eme INSERT et ca a marche sans souci...

Pouvez-vous m'aider?
bambou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2006, 11h26   #2
Membre Expert
 
Homme
Inscription : janvier 2004
Messages : 1 238
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 238
Points : 1 421
Points : 1 421
Code :
1
2
...pg_query($conn,...);
...pg_query($db,...);
oups ;o)
__________________
PHP :
Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production)
Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error());
Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable.
Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/
Fladnag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2006, 14h12   #3
Nouveau Membre du Club
 
Avatar de bambou
 
Inscription : mars 2004
Messages : 192
Détails du profil
Informations personnelles :
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : mars 2004
Messages : 192
Points : 36
Points : 36
Envoyer un message via AIM à bambou Envoyer un message via MSN à bambou Envoyer un message via Skype™ à bambou
rhaaaaaaaaaaaaaaa

bon on va mettre en delestage heiiin, et on dit rien a personne ok?

merci pour ton aide
bambou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h49.


 
 
 
 
Partenaires

Hébergement Web