2016-10-14 9 views
0

SQLテーブルからデータを取得しようとしていますが、すでに行っていますが、今は同じコードで動作しません。ここでは、次のとおりです。PHPでmysqlデータを取得する際の問題

$cat = ""; 
$res = ""; 
$date = ""; 

$sql2 = "SELECT category, result, date FROM results WHERE user='" . $_SESSION['login_user'] . "'"; 
$result2 = mysql_query($sql); 

$count2 = mysql_num_rows($result2); 

if($count2 == 1) 
{ 
    $row2 = mysql_fetch_assoc($result2); 

    $cat = $row2["category"]; 
    $res = $row2["result"]; 
    $date = $row2["date"]; 


} 

私は、次のエラーを取得しておいてください。それと間違って

Notice: Undefined index: category in C:\xampp\htdocs\Own\RiskCarePHP\profile.php on line 59

Notice: Undefined index: result in C:\xampp\htdocs\Own\RiskCarePHP\profile.php on line 60

Notice: Undefined index: date in C:\xampp\htdocs\Own\RiskCarePHP\profile.php on line 61

いただきましたか?

+0

mysqliまたはPDOを使用し、session_start()でセッションを開始します。 –

+2

これは '$ result2 = mysql_query($ sql);ですか?多分$ sql2にする必要がありますか? – Nurjan

+0

SQLインジェクションにもオープンしています。 – chris85

答えて

0

構文に誤りがあります。

それは

$result2 = mysql_query($sql2);

する必要がありますあなたはmysql_fetch_assoc()を実行するとき、それは(するmysql_queryから、したがって結果をインデックスを持つ配列を返すという事実を逃している。この

+1

私はこのコメントに同じ質問をしました。 – Nurjan

+0

ええ、ちょうどチェック..その時間について知りませんでした...おそらく私たちは同時に答えました – Amrinder

0

に確認してください。 )while()でループする必要があります。 索引付けされた連想配列に直接アクセスしようとしていますが、索引値が欠落して「カテゴリ」、「結果」および「日付」のようなキーを指しています。

<?php 
$cat = ""; 
$res = ""; 
$date = ""; 

$sql2 = "SELECT category, result, date FROM results WHERE user='" . $_SESSION['login_user'] . "'"; 
$result2 = mysql_query($sql); 

$count2 = mysql_num_rows($result2); 

if($count2 == 1) 
{ 
    while ($row2 = mysql_fetch_assoc($result2)) { 
     $cat = $row2["category"]; 
     $res = $row2["result"]; 
     $date = $row2["date"]; 
    } 
} 
?> 

これは間違いなく機能します。 乾杯!

関連する問題