2017-07-31 80 views
0

這是我的第一篇文章,我試圖讓我的瀏覽器遊戲的聊天室,我想讓用戶註冊我的瀏覽器遊戲時,可以去聊天時使用該用戶名的空間。這是錯誤「注意:未定義的索引:id在*:***** php中。」我一直碰壁,這是我的代碼:試圖讓我的瀏覽器遊戲的聊天室

<html> 
<head> 
    <meta http-equiv="refresh" content="2"> 
</head> 
<body> 
<?php 
    //Database connection 
    $*********=    "******"; 
    $**********=    "*****"; 
    $**********=    "*******"; 
    $*****=     "*********"; 

    //Create Connection 
    $conn = new mysqli($********, $*******, $*******, $****); 

    //Check Connection 
    if($conn->connect_error) 
    { 
     die("Connection error: ".conn>connect_error); 
    } 

    if(isset($_SESSION['loggedin'])) 
    { 
     $username = $_SESSION['loggedin']; 

     //GET USER DATA 
     $query = "SELECT id FROM users WHERE username = '$username'"; 
     $result = mysqli_query($conn, $query); 
     $row = mysqli_fetch_assoc($result); 

     //USERDATA 
     $userId = $row['id']; 
    } 

    //query the database 
    $query = "SELECT messageid, message, timestamp FROM messages ORDER by 
    timestamp DESC"; 

    if ($result = mysqli_query($conn, $query)) 
    { 
     /* fetch associative array */ 
     while ($row = mysqli_fetch_assoc($result)) 
     { 
      echo $row['id'].' says: '.$row['message'].'</br>'; 
     } 
     mysqli_free_result($result); 
    } 

    /* close connection */ 
    mysqli_close($conn); 
?> 
</body> 
</html> 

這是錯誤的圖片:

it seems messages to work at least

PS我新的編程,我一直在尋找這個問題在互聯網上,找不到它。所以我請你聰明的人幫我請:)

+0

php的不是聊天室的,它是非常讀/寫的 - 看看node.js作爲一個潛在的:) – ThisGuyHasTwoThumbs

+1

第52行不是'id'它是'messageid' –

+0

我會檢查@ThisGuyHasTwoThums。 – Branko

回答

0

贊@Suneel Kumar評論你的問題。你的錯誤就出在這裏:

$query = "SELECT messageid, message, timestamp FROM messages ORDER by timestamp DESC"; 

您從數據庫中選擇以下行: 消息ID,消息,時間戳

而你試圖迴應一個數組「ID」的一個未定義的索引。

echo $row['id'] 

要麼你必須改變這

echo $row['messageid'] 

,或者你必須從表藏漢查詢ID行。

編輯:

一個很好的 「調試」 針尖對PHP開發也將嘗試類似的var_dump($行)。這會在您的瀏覽器中轉儲整個數組對象,以便您可以看到您正在使用的對象中存在的所有關鍵值。

+0

謝謝@ Ole Haugset,它現在的作品。現在,我只剩下修復顯示用戶名了。 :) – Branko