2016-10-13 6 views
2

Я новичок в PHP, я получаю сообщение об ошибке, как:Примечание: Undefined индекс: идентификатор пользователя в

Notice: Undefined index: userID in echo "<a href='home.php?userID=".$row['userID'] . "'>".$row['userName']." ".$row['userEmail']."</a><br/>"; 

home.php

$sql = 'SELECT userName, userEmail FROM tbl_users'; 
$stmt = $dbCon->prepare($sql); 
$stmt->setFetchMode(PDO::FETCH_ASSOC); //allows you to refer to them by column name rather than by number 
$stmt->execute(); 
while ($row = $stmt->fetch()) 
{ 
    echo "<a href='home.php?userID=".$row['userID'] . "'>".$row['userName']." ".$row['userEmail']."</a><br/>"; //builds the link 
} 

я последовал this link и добавьте следующий код в home.php & signup.php, но он didt работал для меня, где я ошибся?

//Initializing variable 
$userID = "";       
//isset() 
$userID = isset($_POST['userID']) ? $_POST['userID'] : ''; 
//empty() 
$userID = !empty($_POST['userID']) ? $_POST['userID'] : ''; 

Редактировать

этот вопрос не дублировать, потому что я последовал ответ в этой связи, но did't работал для меня.

+0

'print_r ($ row)' –

+3

Вы не выбрали 'userID' в своем sql. Вы выбираете только 'userName, userEmail' –

+0

@u_mulder Thansk много для поддержки ..... –

ответ

1

Измените SQL-запрос, чтобы выбрать UserID вместе с двумя другими полями.

Это должно выглядеть примерно так,

$sql = 'SELECT userID,userName, userEmail FROM tbl_users'; 

Я assuimg имя столбца является идентификатором пользователя, если не изменить его к первоначальному названию столбца и дать ему псевдоним доступ к нему с другими элементами.

Так что, если ваш оригинальное название колонки просто ID, то ваш может выглядеть примерно так,

$sql = 'SELECT ID userID,userName, userEmail FROM tbl_users'; 
-1

У вас нет элемента с ключом userID в вашем $row массиве. И это потому, что вы не выбираете его в запросе:

'SELECT userName, userEmail FROM tbl_users' 

Таким образом, сделать это следующим образом:

'SELECT userID, userName, userEmail FROM tbl_users' 

И userID будет выбрано с userName и userEmail.

Редактировать

Причина, почему переменная инициализации не работает, потому что ваши где объявление строки переменной $userID, в то время как вы выводите строку, что это элемент массива$row, так это другое переменная.

+0

Спасибо за поддержку. .... –

Смежные вопросы