php - insert query inside select query loop -
i've created below function include several mysql queries, seem create issue. cause when run function returns following error:
errormessage: commands out of sync; can't run command now
i've tried include next_result(), not difference?
function retrieveplayertweets(){ global $con; $query = $con->prepare("select players.fullname, players.twitter_user, team.id teamid players, team players.teamid = team.id"); $query->execute(); $query->bind_result($fullname, $twitter_user, $teamid); while ($query->fetch()) { foreach(retrieveusertweets($twitter_user) $twitterdata) { $id = $twitterdata['id_str']; $text = $twitterdata['text']; $name = $twitterdata['user']['name']; $datestring = $twitterdata['created_at']; $favoritecount = $twitterdata['favorite_count']; $date = date('y-m-d h:i:s', strtotime($datestring)); if ($insert_tweet = $con->prepare("insert ignore tweets (`fullname`, `username`, `text`, `created`, `teamid`, `twitterid`, `favoritecount`) values (?, ?, ?, ?, ?, ?, ?)")) { $insert_tweet->bind_param("ssssisi", $name, $twitter_user, $text, $date, $teamid, $id, $favoritecount); $insert_tweet->execute(); $con->next_result(); } else { die("errormessage: ". $con->error); } } } }
if commands out of sync; can't run command in client code, calling client functions in wrong order.
this can happen, example, if using mysql_use_result() , try execute new query before have called mysql_free_result(). can happen if try execute 2 queries return data without calling mysql_use_result() or mysql_store_result() in between.
https://dev.mysql.com/doc/refman/5.0/en/commands-out-of-sync.html
Comments
Post a Comment