Whenever I run the following code, I get the error: "Commands out of sync; you can't run this command now" as I try to execute my prepared Update statement. <?php $fpiDataAddr = fopen('outputAddr.txt','r') or die("can not open In File "); //Connect to mySQL server $mysqli = new mysqli('localhost', 'user', 'pswd', 'db'); if ($mysqli->connect_error) { die('Could not connect: '.$mysqli->connect_error); } else{ echo "Connected successfully\n"; } $seqno = 0; $k = 'Kev'; $sql1 = 'SELECT UNIQUE_NUM, AM_CITY FROM db.kb_addr WHERE UNIQUE_NUM = ?'; $sth1 = $mysqli->prepare($sql1); $sql2 = 'UPDATE db.kb_addr SET AM_CITY = ? WHERE UNIQUE_NUM = ?'; $sth2 = $mysqli->prepare($sql2); while($inrec = fgetcsv($fpiDataAddr,0,',','"')){ if($seqno == 0){ $x= count($inrec); $arrFields = array(); for ($y = 0; $y < $x; $y++) { $arrFields[$inrec[$y]] = $y; //creates associative array that associates fields with the index in $inrec } echo "Array of Field Names From Header Record in Input data is \n"; print_r($arrFields); $seqno++; continue; } $key = 0+$inrec[$arrFields['Unique #']]; //Select Statement $sth1->bind_param('i',$key); $sth1->execute(); $sth1->bind_result($un,$ac); $sth1->fetch(); //Update Statement $sth2->bind_param('si',$k,$key); echo "after bind: ".$sth2->error."\nThe object error is: $mysqli->error\n"; $sth2->execute(); echo "after execute: ".$sth2->error."\nThe object error is: $mysqli->error\n"; if($seqno > 1000) break; $seqno++; } fclose($fpiDataAddr) or die("can not close file"); //disconnect $sth1->close(); $sth2->close(); $mysqli->close(); ?> However, if I close $sth1 (the select statement) before executing $sth2 (the update statement), it works, but since I just closed $sth1, I have to prepare it again. This is pretty inefficient considering the large data set that I'm working with and the fact that I have to prepare and close my select statement every single time I loop through. Is there any way that I can run these statements error-free without having to close the select statement ($sth1) every single time I want to execute my update statement ($sth2)? Thanks, Kevin