2015-04-30 2 views
0

Я хочу, чтобы пользователь data.when я войти

'[email protected]'

имя пользователя для $ перешлем я могу получить информацию, но если я ставлю

$_SESSION['username']

я получаю «Неизвестный столбец

'[email protected]'

в 'где предложение'»или, если я поставил

$ почта

я не получаю сообщение об ошибке, но видел пустой линия .

function getusersfield($field){ 
     //echo $field; 
     $mail = $_SESSION['username'].'<br>'; 
     //echo $mail; 

     $query ="SELECT `$field` FROM `users` WHERE `e-mail`='$mail'"; 
     //echo mysql_result($query_run=mysql_query($query), 0, $field); 

     if($query_run = mysql_query($query)) { 
      if($query_result=mysql_result($query_run,0,$field)) { 
       return $query_result; 
      } else { 
       echo mysql_error(); 
      } 
     } else { 
      echo mysql_error(); 
     } 
     //echo $_SESSION['ad'].' '.$_SESSION['usersurname']; 

} 

Почему вывод ниже кода пуст?

echo getusersfield('Ad').'<br>'; 
+1

'$ почты = $ _ SESSION [ 'имя пользователя']«.
'; '<- У вашей ценности также есть тег линии разрыва в вашей базе данных? :) – Rizier123

+0

спасибо. У меня ошибка, поэтому я сделал копию/вставку. –

ответ

1

Вашего вопрос можно найти в этой строке:

$mail=$_SESSION['username'].'<br>'; 

Этого <br> тег также добавляются в Вашем SQL SELECT запрос и сделать вашу базу данных для поиска неправильной строки ([email protected]<br>).

Изменить это:

$mail=$_SESSION['username']; 
+2

И что это за ошибка? Почему это нарушает код OP? – Rizier123

+2

Интересно, почему этот ответ был одобрен. A '
' просто делает поиск по ошибке электронной почты –

+0

Возможно, вы правы, но вы не объяснили, почему это может быть проблемой. – RiggsFolly