Mr Chris Posted July 11, 2006 Share Posted July 11, 2006 Hi Guys,The below part of a form submits data to a Mysql database.[code=php:0]<?phpsession_start();// ** Connect to DB **include("*********");// ** If Submit is hit do your stuff ** if (isset($_POST['Submit'])) { $section = $_POST['section']; $added_by = $_POST['added_by']; $headline = $_POST['headline']; $byline_name = $_POST['byline_name']; $appeared = $_POST['appeared']; $published = $_POST['published']; $opening = $_POST['opening']; $body_text = $_POST['body_text']; $quote = $_POST['quote']; $term_one = $_POST['term_one']; $term_two = $_POST['term_two']; $term_three = $_POST['term_three']; $term_four = $_POST['term_four']; $notes = $_POST['notes'];// ** Check for Required Fields with IF statements ** if (empty($section)){ $error = "** You forgot to enter the section for the story! **"; } else if (empty($added_by)){ $error = "** Error: You forgot to who added the story! **"; } else if (empty($headline)){ $error = "** Error: You forgot to enter a headline for the story! **"; } else if (empty($byline_name)){ $error = "** Error: You forgot to enter a byline name for the story! **"; } else if (empty($published)){ $error = "** Error: You forgot to the date you wish to publish the story! **"; } else if (empty($opening)){ $error = "** Error: You forgot to the Opening Paragraph for the Indexes! **"; } else if (empty($body_text)){ $error = "** Error: You forgot to enter any body text! *";// ** If all of the statements are true then ** } else { $query = "INSERT INTO cms_stories(section,added_by,headline,byline_name,appeared,published,opening,body_text,quote,term_one,term_two,term_three,term_four,notes) VALUES ('$section','$added_by','$headline','$byline_name','$appeared','$published','$opening','$body_text','$quote','$term_one','$term_two','$term_three','$term_four','$notes')"; $story_id=mysql_insert_id(); header("Location: http://*****************/pictures/upload.php?story_id=$story_id"); // ** And finally run the query to add data to the database ** $link = mysql_connect; mysql_select_db($db); $result = mysql_query($query) or die('Query failed: ' . mysql_error()); mysql_close(); } }?>[/code]Now when the if conditions are met and the data is added it then re-directs to:[code=php:0]header("Location: http://www.*****************/pictures/upload.php?story_id=$story_id"); [/code]Now this is where I want to get the [b]story_id[/b] of the record just entered, but each time it just re-directs as:http://www.*****************/pictures/upload.php?story_id=0When I thought $story_id=mysql_insert_id() would grab that last story_id?Many ThanksChris Quote Link to comment https://forums.phpfreaks.com/topic/14276-resolved-mysql_insert_id/ Share on other sites More sharing options...
GingerRobot Posted July 11, 2006 Share Posted July 11, 2006 I dont think you dont appear to be insterting a last id, so it wont be able to retrieve one. Quote Link to comment https://forums.phpfreaks.com/topic/14276-resolved-mysql_insert_id/#findComment-56083 Share on other sites More sharing options...
ToonMariner Posted July 11, 2006 Share Posted July 11, 2006 you have not submitted the query prior to calling the insert id!!!![code]$query = "INSERT INTO cms_stories(section,added_by,headline,byline_name,appeared,published,opening,body_text,quote,term_one,term_two,term_three,term_four,notes) VALUES ('$section','$added_by','$headline','$byline_name','$appeared','$published','$opening','$body_text','$quote','$term_one','$term_two','$term_three','$term_four','$notes')"; $story_id=mysql_insert_id();[/code]cahneg to:[code]$query = "INSERT INTO cms_stories(section,added_by,headline,byline_name,appeared,published,opening,body_text,quote,term_one,term_two,term_three,term_four,notes) VALUES ('$section','$added_by','$headline','$byline_name','$appeared','$published','$opening','$body_text','$quote','$term_one','$term_two','$term_three','$term_four','$notes')";$query = mysql_query($query); $story_id=mysql_insert_id();[/code] Quote Link to comment https://forums.phpfreaks.com/topic/14276-resolved-mysql_insert_id/#findComment-56086 Share on other sites More sharing options...
brown2005 Posted July 11, 2006 Share Posted July 11, 2006 yes, you need to run the query before you call the insert_id bit, as it is taking it as you have not inserted anything and showing you that Quote Link to comment https://forums.phpfreaks.com/topic/14276-resolved-mysql_insert_id/#findComment-56088 Share on other sites More sharing options...
Mr Chris Posted July 11, 2006 Author Share Posted July 11, 2006 Cheers GUYS,That was stupid of me :-\I guess though an extra pair of eyes helps! Quote Link to comment https://forums.phpfreaks.com/topic/14276-resolved-mysql_insert_id/#findComment-56113 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.