Assigning the current value of a sequence to a variable - Postgres 8.3.6

[email protected] (Carol Walter)
Newsgroups php.db
Message-ID <[email protected]>
Hello,

I have a program that looks for a name in a database.  If the name is  
found the id of the record is assigned to a variable.  Later in the  
program that value is used to insert records associated with the name  
into the database using a variable called person_id.  If the name is  
not found, then a new record is build from data entered into a form.   
There is a name record and a contact information record and a bridge  
table record to create the relationship between them.  After that, the  
program may create additional records related to the new person record  
in the same way it  creates records related to the person records that  
might already exist in the database.  It would make this process lots  
easier if I can assign currval of the new person record to the same  
variable that I use when I already have a record in the database.  Can  
I assign currval to a variable?

Below is the code that I'm using.  The value that displays for person  
id which I'm trying to capture at the bottom of this code is "person  
id is Resource id #6".

if (($submit_db_name == "Submit") && ($submit_new_name == "Submit"))
     	          {
     	             echo"<p> Contact Locator: $cont_loc</p>";
    				      echo"<p> Contact Type Rank: $cont_rank</p>";
    				      echo"<p> Contact Info Type: $contact_type</p>";
    				      echo"<p> New name string: $f_name_new</p>";
    				      echo"<p> New name string: $m_name_new</p>";
    				      echo"<p> New name string: $l_name_new</p>";
    				      echo"<p> New ivl web string: $ivl_web_peop</p>";
    				      echo"<p> New cns_web string: $cns_web_peop</p>";
    				      echo"<p> New contact rank string: $cont_rank</p>";
    				      echo"<p> New contact locator string: $cont_loc</p>";
    				      echo"<p> New contact item string: $contact_info1</p>";
    				      echo"<p> New contact type string: $contact_type</p>";
    		           begin;

            		      $query = "INSERT INTO \"tblPeople\"(\"fName\", 
\"mName\",\"lName\", ivlweb, cnsweb)
              		                VALUES ('$f_name_new',  
'$m_name_new','$l_name_new', '$ivl_web_peop', '$cns_web_peop')";
              		
              		/*  echo "First query: " . $query . "<br />"; */
               	      $pg_peop_ins = pg_query($query) or die("Can't  
execute first query");

               	       $query = "INSERT INTO \"tblContactInformation 
\"(\"contactItem\",\"contactType\") VALUES  
('$contact_info1','$contact_type')";
              		   /* echo "Second query: " . $query . "<br />"; */
               	      $pg_contact_ins = pg_query($query) or die("Can't  
execute 2nd query");
               	      $query = "INSERT INTO  
\"brdgPeopleContactInformation\" (\"peopleId\",\"contactInformationId 
\",rank, type) VALUES (currval('\"tblPeople_peopleId_seq 
\"'),currval('\"tblContactInformation_contactInformationId_seq\"'),  
'$cont_rank', '$cont_loc')";
               	       /* echo "Third query: " . $query . "<br />"; */
               	       $pg_peop_cont_ins = pg_query($query) or  
die("Can't execute 3rd query");
               	       $query = "SELECT  
currval('\"tblPeople_peopleId_seq\"')";
               	       $person_id = pg_query($query) or die("Can't  
execute 4th query");
               	       echo "person id is " .  $person_id . "<br />";
             	commit;

This is PostgreSQL 8.3.6, PHP 5, on Solaris 10.

Thanks for your time.

Carol
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.