Solved

Newbie simple question - how do I get the ID of a record I've just inserted into the table in mysql using php?

Posted on 2004-04-13
9
343 Views
Last Modified: 2013-12-12
I need the ID, so I can UPDATE other associated tables.

The book_table contains
ID key unique
Count
Book   unique
Description

The value I know is $NewBook
Thanks,
Russ
0
Comment
Question by:RUSS_EMI
  • 4
  • 2
  • 2
  • +1
9 Comments
 
LVL 6

Expert Comment

by:jkna_gunn
ID: 10811410
mysql_query("INSERT INTO books (id,count,book,description) values (null,5,'my book','blah blah blah')");
printf("Last inserted record id %d", mysql_insert_id());

i assume that your ID is autoincrement in which case i just pass in null to the insert query.
0
 
LVL 6

Expert Comment

by:BAlexandrov
ID: 10812375
Is this working in mysql? Passing null value of autoincrement field? I think this must be done with omitting of id field from list of fields.
0
 

Author Comment

by:RUSS_EMI
ID: 10812478
Jkna_gunn,
   Thank you, that works. But I also need the ID for an existing record where I know the $Book value.  Is that done the similarly, but using mysql_select_id() (after I do a SELECT query)?
Thanks
Russ
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 7

Expert Comment

by:madwax
ID: 10812646
Otherwise you can always get the next auto_index by the following statements

--code--

$sql = "SHOW TABLE STATUS LIKE \"tableName\"";
$result=execute($sql);
$rs=mysql_fetch_object($result);
mysql_free_result($result);
$nextID=$rs->Auto_increment;

--code--

The problem is that you have to lock the table before so that an other query doesn't take this id - I.E. unsuitable when there is a lot of inserting at the same time...

//jan
0
 

Author Comment

by:RUSS_EMI
ID: 10812722
What I need, is to get an old, pre-existing ID value from a record when I know the unique Book value, but nothing else.
Russ
0
 
LVL 7

Expert Comment

by:madwax
ID: 10812856
Do you simply mean

SELECT id FROM table WHERE book=KnownBookValue

or did I misunderstand the question? =/

//jan
0
 

Author Comment

by:RUSS_EMI
ID: 10812974
That's it.  But  can't seem to get ID number into a variable (ie. $BID)
Russ
0
 
LVL 6

Accepted Solution

by:
jkna_gunn earned 125 total points
ID: 10813240
are you sure the select query is returning anything?

$query = "select id from book_table where book='$book'";

$result = mysql_query($query);

$row = mysql_fetch_array($result);

$id = $row[0];

print $id;
0
 

Author Comment

by:RUSS_EMI
ID: 10813508
Thank you.  I'll assume that will work.  I hadn't done the reference to [0].
Russ
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Wordpress Pagination 1 44
Ahax pagination 9 47
Wordpress Only run code if on a certain page 11 33
php output utf-8 problem 6 13
Things That Drive Us Nuts Have you noticed the use of the reCaptcha feature at EE and other web sites?  It wants you to read and retype something that looks like this.Insanity!  It's not EE's fault - that's just the way reCaptcha works.  But it is …
Many old projects have bad code, but the budget doesn't exist to rewrite the codebase. You can update this code to be safer by introducing contemporary input validation, sanitation, and safer database queries.
The viewer will learn how to dynamically set the form action using jQuery.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

713 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question