Наверняка ошибка в запросе и mysql_query возвращает FALSE. Смотрите в error_log веб-сервера.
Обновлено
Слона-то я и не приметил. Ваша основная ошибка в том, что вы присваиваете переменной $query строковое значение ($query = $row['email'];). Поэтому при следующем шаге цикла в mysql_fetch_assoc() попадает строковое значение, что вызывает ошибку.
Однако в целом не очень хорошо так делать:
if (isset($_SESSION["session_username2"])) {
$query = mysql_query("SELECT * FROM usertbl WHERE username='" . $_SESSION["session_username2"] . "'");
/* Вставлять переменные в запрос без предварительной
фильтрации и экранирования данных чревато ошибками
и SQL-инъекциями. */
while ($row = mysql_fetch_assoc($query)) {
/* Брать данные в цикле наверное не очень правильно, что-то
мне кажется что вы ожидаете параметры для одного пользователя */
print_r($row);
$query = $row['email'];
/* Ну и наконец вот это и есть причина проблемы, которую вы
обозначили в вопросе */
}
}
Также как вам подскаывает @splash58 расширение php_mysql устарело и в следующих версиях будет удалено.
Вот вам пример того, как стОит сделать, если вы не хотите пока переходить с php_mysql:
if (isset($_SESSION["session_username2"])) {
$safeUserName = mysql_real_escape_string($_SESSION["session_username2"]);
$result = mysql_query('SELECT * FROM usertbl WHERE username="' . $safeUserName . '"');
if ($row = mysql_fetch_assoc($result)) {
$userMail = $row['email'];
} else {
throw new Exception('Not found user: ' . $safeUserName, MY_ERR_NOT_FOUND_USER);
/* Пользуйтесь исключениями - это хорошая практика.
Просто поверьте :) */
}
/* Еще можно проверить количество возвращенных строк, если их
больше чем одна, то эту ситуацию тоже стОит рассмотреть отдельно */
}
mysql_fetch_assocможет вернутьNULL? При каких условиях? – tutankhamun Jan 07 '16 at 12:46mysql_query. Насколько помню при пустой выборке, когда нет записей. Сейчас проверить нет возможности. Мог и напутать. – VenZell Jan 07 '16 at 12:51resource, только первый жеmysql_fetch_assoc()вернетFALSE. Но не переживайте, эта информация уже врядли пригодится :) – tutankhamun Jan 07 '16 at 13:04