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 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. 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] 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 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! Link to comment https://forums.phpfreaks.com/topic/14276-resolved-mysql_insert_id/#findComment-56113 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.