1 - $email=htmlspecialchars($email);
Это не то, как вы дезинфицируете текст для запросов SQL.Это в некоторой степени предотвратит атаки XSS, но НИЧЕГО для внедрения SQL.Вместо этого используйте mysql_real_escape_string()
.
2 - while($row = mysql_fetch_array($result)){
Предположительно, будет возвращена только одна строка, поэтому нет смысла делать это в цикле.Просто извлеките одну строку БЕЗ цикла while.
3 - if ($count>0){
Не будет ли это разумнее, ДО того, как вы попытаетесь получить строку?Вы можете выполнить всю выборку / сессию, заполненную в этом if () вместо
4 - mysql_query($result);
В момент, когда вы выполняете это, $ result является либо логическим FALSE (оригиналне удалось выполнить запрос), дескриптор оператора результата запроса mysql.это НЕ строка запроса, поэтому ваш запрос не удастся
5 - mysql_query($loginr);
См. # 4 - $ loginr это либо "false", либо дескриптор оператора.Зачем делать запрос дважды?