I'm in the process of updating from MySQL to MySQLi and have come across an issue I'm not sure how to handle with MySQLi/prepared statements.
In my previous code, I had a query within a query:
while ($record = mysql_fetch_array($result))
{
//CLEAR VARIABLES
$REMINDER_TIME = '';
$REMINDER_USER_ID = '';
//STORE DATA
$REMINDER_TIME = $record['REMINDER_TIME'];
$REMINDER_USER_ID = $record['USER_ID'];
//LOCALIZE TIMES
$REMINDER_TIME = new DateTime($REMINDER_TIME);
$REMINDER_TIME->setTimeZone(new DateTimeZone($user_timezone));
//GET USER NAME
$result1 = mysql_query("SELECT FIRST_NAME, LAST_NAME, EMAIL FROM TABLE_users WHERE USER_ID='$REMINDER_USER_ID'");
while ($record1 = mysql_fetch_array($result1))
{
//CLEAR VARIABLES
$REMINDER_USER_FIRST = '';
$REMINDER_USER_LAST = '';
$REMINDER_USER_EMAIL = '';
//STORE DATA
$REMINDER_USER_FIRST = $record1['FIRST_NAME'];
$REMINDER_USER_LAST = $record1['LAST_NAME'];
$REMINDER_USER_EMAIL = $record1['EMAIL'];
}
$tableRow .= '<tr>
<td class="tall">'.$REMINDER_TIME->format('F j, Y').'<br />'.$REMINDER_TIME->format('g:ia T').'</a></td>
<td class="tall">'.$REMINDER_USER_FIRST.' '.$REMINDER_USER_LAST.'<br />('.$REMINDER_USER_EMAIL.')</td>
</tr>';
}
However, with my prepared statements, I'm not sure how to run a query within a query:
$result = $stmt -> get_result();
while ($row = $result -> fetch_array(MYSQLI_ASSOC))
{
//CLEAR VARIABLES
$REMINDER_TIME = '';
$REMINDER_USER_ID = '';
//STORE DATA
$REMINDER_TIME = $row['REMINDER_TIME'];
$REMINDER_USER_ID = $row['USER_ID'];
//LOCALIZE TIMES
$REMINDER_TIME = new DateTime($REMINDER_TIME);
$REMINDER_TIME->setTimeZone(new DateTimeZone($user_timezone));
//_____QUERY WOULD GO HERE_____
$tableRow .= '<tr>
<td class="tall">'.$REMINDER_TIME->format('F j, Y').'<br />'.$REMINDER_TIME->format('g:ia T').'</a></td>
<td class="tall">'.$REMINDER_USER_FIRST.' '.$REMINDER_USER_LAST.'<br />('.$REMINDER_USER_EMAIL.')</td>
</tr>';
}
$stmt->close();
Is it possible to do this with prepared statements? I basically need to hit the database to get data in a secondary query based on values received during the first query. Thank you!
$stmt -> close()right after$result = $stmt -> get_result();?$stmt->reset(). ch2.php.net/manual/en/mysqli-stmt.reset.php