php
2016-10-13 18 views 2 likes 
2

私はPHPに新しい、私のようにエラーを取得しています午前中のユーザーID:お知らせ:未定義のインデックス:

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 
} 

iはthis linkに続き、中に以下のコードを追加しますhome.php & signup.php、それは私のために働いていませんでしたが、私は間違いを犯しましたか?

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

編集

私はそのリンクで答えをたどっているため、この質問が重複していないが、それは私のために働いたdid't。

+0

'print_r($ row)' –

+3

sqlで 'userID'を選択しませんでした。あなたは 'userName、userEmail'のみを選択します。 –

+0

@u_mulder Thanskはサポートのためにたくさん..... –

答えて

1

他の2つのフィールドと共にユーザーIDを選択するようにSQLクエリを変更します。

それは次のようになります、

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

元の列の名前に変更し、それにエイリアスを与えていない場合、私は、列名がユーザーIDあるassuimgよ他の要素でそれにアクセスしてください。

元の列名がちょうどIDであれば、あなたのは、このようになります、

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

あなたの$row配列のキーuserIDを持つ要素を持っていません。そして、それはあなたのクエリでそれを選択していないためです。

'SELECT userName, userEmail FROM tbl_users' 

だから、このようにそれを実行します。

'SELECT userID, userName, userEmail FROM tbl_users' 

userIDuserNameuserEmailでフェッチされます。

編集

あなたの変数の初期化が機能しなかった理由があるので、あなたのところ、それは違いますので、あなたは、が配列$rowの要素の文字列をエコーし​​ている間、文字列変数$userIDを宣言変数。

+0

サポートありがとう。 .... –

関連する問題