2016-11-25 75 views
0

您好,我正在尝试设置一个游戏投注网站。我使用openId将数据从蒸汽传输到我的网站。但是这个“bug”发生在前一阵子。我无法为每个连接的新用户编写新行。它在2天前工作。我不认为我改变了任何东西,但它不起作用,所以必须改变。我的代码很长,所以我只会发布我认为有问题的部分。 所以它就是这样。正如我所说,它应该为新用户编写新行。PHP,openId - 无法写入mysql

 if($openid->validate()) 
    { 
      $id = $openid->identity; 
      // identity is something like: http://steamcommunity.com/openid/id/76561197960435530 
      // we only care about the unique account ID at the end of the URL. 
      $ptn = "/^http:\/\/steamcommunity\.com\/openid\/id\/(7[0-9]{15,25}+)$/"; 
      preg_match($ptn, $id, $matches); 
      echo "Sucesfully logged in (steamID: $matches[1])\n"; 

      $url = "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=$_STEAMAPI&steamids=$matches[1]"; 
      $json_object= file_get_contents($url); 
      $json_decoded = json_decode($json_object); 

      foreach ($json_decoded->response->players as $player) 
      { 
       $sql_fetch_id = "SELECT * FROM users_steam WHERE steamid = $player->steamid"; 
       $query_id = mysqli_query($conn,$sql_fetch_id); 

       if(mysqli_num_rows($query_id)==0){ 
        $sql_steam = "INSERT INTO users_steam (name, steamid, avatar, loggedin, tradeurl) VALUES ('$player->personaname', '$player->steamid', '$player->avatar',' ',' ')"; 
        mysqli_query($conn,$sql_steam);} 

       $_SESSION["id"] = $player->steamid; 
       $_SESSION["name"] = $player->personaname; 
       $_SESSION["url"] = $player->profileurl; 
       $_SESSION["smallavatar"] = $player->avatar; 
       $_SESSION["mediumavatar"] = $player->avatarmedium; 
       $_SESSION["largeavatar"] = $player->avatarfull; 
      } 
    } 

编辑:我忘了提及它没有显示任何错误或任何东西。它只是没有反应,行为就像它通过。例如会话索引是在玩家登录后设置的,它只是不写入mysql。

+1

究竟是什么问题?你可以在更多的上下文中编辑,以及可能的PHP服务器错误日志? –

+0

它不会引发任何错误。等待让我检查php错误日志 –

+0

我检查错误日志,没有错误。我真的不知道发生了什么事。 –

回答

0

好的问题是我在表格中添加了新的必填列。感谢马特克拉克的努力!