PHP: mysql_insert_id()

July 16, 2009 by  
Filed under Tips and Tutorials

tn-phpSometimes it is necessary to get the ID value of the last record you inserted into a MySQL database.

For example, let’s say you have a shopping cart function that added records into the database. But you need to print out a receipt that includes the item tracking number. And this tracking number would be the record’s ID value, which is also the PRIMARY KEY of the table.

An easy way to do this in PHP is by using the function mysql_insert_id().
NOTE: This will only work for AUTO_INCREMENT fields.

Pretend STEP 1 is a form with a list of items. If you change the QUANTITY of the item, and submit, you will be at STEP 2, which is the sample code below.

<?php

$theReceipt = '<table>';

// If the quantity was changed
// This part should be called in some sort of loop 
if(${$quantity})
{
    // This function will have the mysql statement that 
    // inserts the data into the database.
    addItemToShoppingCart($itemDetails); 

    $trackNumber = mysql_insert_id();

    $theReceipt .= '<tr><td>'. $trackNumber. '</td>
       <td>'. $itemDetails['description'] .'</td>
       <td>$'. $itemDetails['price'] .'</td></tr>';
}

$theReceipt .= '</table>';

echo $theReceipt;

?>

If 3 items were selected, then the above code should display something like:

<table>
<tr><td> 1 </td>  
<td> Description for Item #1 </td>
<td>$3.45 </td></tr>
<tr><td> 2 </td>  
<td> Description for Item #2 </td>
<td>$4.35 </td></tr>
<tr><td> 3 </td>  
<td> Description for Item #3 </td>
<td>$1.47 </td></tr>
</table>

You’re welcomed to use the code. You’ll have to write the functions to make it work though. ;) Feel free to comment below if you have questions or suggestions!

Related Links

Related Products:

PHP for the Web: Visual QuickStart Guide (5th Edition)PHP for the Web: Visual QuickStart Guide (5th Edition)Learn PHP programming the quick and easy way!
With PHP for the Web: Visual QuickStart Guide readers can start from the beginning to get a tour... Read More >
Delta 75152 3-7/8" Single-Function Shower Head with H2Okinetic Technology, ChromeDelta 75152 3-7/8" Single-Function Shower Head with H2Okinetic Technology, ChromeOffering water efficiency without sacrificing comfort, the Delta H2OKinetics Showerhead can lower your utility bills while still providing full-spray ... Read More >
PHP and MySQL Web Development (5th Edition) (Developer's Library)PHP and MySQL Web Development (5th Edition) (Developer's Library)

PHP and MySQL Web Development, Fifth Edition

The definitive guide to building database-driven We... Read More >

Related Posts Plugin for WordPress, Blogger...