typeslow Posted December 1, 2009 Share Posted December 1, 2009 Hey, I'm really new to PHP so I think this is a simple problem but I can't figure it out.. I'm trying to save each of the values in the same record, with a different field. It saves to the correct field but with a different record each time. Any help appreciated. $regex6= '/gave it a.*/'; preg_match_all($regex6,$curl,$done['comment']); $i= 1; foreach ($done['comment'][0] as $c ) { $d = substr($c, 50); $j =$i++; mysql_connect("localhost", "root"); mysql_select_db("metacritic"); $table = "comment$j"; $e = mysql_real_escape_string($d); mysql_query("INSERT INTO games ($table) VALUES ('$e')") ; } [attachment deleted by admin] Quote Link to comment Share on other sites More sharing options...
Psycho Posted December 1, 2009 Share Posted December 1, 2009 You want to create ONE query with all the values for the record. Not run a query for each value mysql_connect("localhost", "root"); mysql_select_db("metacritic"); $regex6 = '/gave it a.*/'; preg_match_all($regex6, $curl, $done['comment']); $i = 1; $fields = array(); $values = array(); //Create arrays of the fields and values foreach ($done['comment'][0] as $comment) { $fields[] = "`comment{$i}`"; $values[] = "'" . mysql_real_escape_string(substr($comment, 50)) . "'"; $i++; } //Build the query $fieldList = implode(', ', $fields); $valueList = implode(', ', $values); $query = "INSERT INTO games ({$fieldList}) VALUES ({$valueList})"; //Run the query mysql_query($query); Quote Link to comment Share on other sites More sharing options...
typeslow Posted December 1, 2009 Author Share Posted December 1, 2009 Works great, makes sense. I was bashing my head over this, thanks a lot. Quote Link to comment 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.