2015-10-04 106 views
-1

这里是我的代码:PHP MySQL查询返回错误的结果

<?php 
    if(isset($_POST["stjel"])) { 
     if($_POST["type"] == "Penger") { 
      $luck = rand(1,4); 
      $randuser = $sql->query("SELECT brukernavn FROM `brukere` WHERE `level`='1' AND `liv`>='0' ORDER BY RAND() LIMIT 1"); 
      $randbruker = $sql->query("SELECT * FROM `brukere` WHERE `brukernavn`='$randuser'"); 
      $target = mysql_fetch_object($randbruker); 
      $hvormyefra = $target->hand * 0.15; 
      $amount = $targed->hand - $hvormyefra; 
      if($luck == 1) { 
       echo"<div class=\"velykkett\">You stoled $amount from"; 
       echo $randuser; 
       echo"</div>"; 
      } else { 
       echo"You failed to steal money!"; 
      } 
     } 
    } 
?> 

所有$randuser回报Resource id #39 我需要UT返回一个随机brukernavn,而不是Resource id #39,我怎样才能解决这一问题?因为现在这是搞乱我的代码

+1

'query'函数返回资源。从中你可以获取你所需要的。 –

+0

@u_mulder有另一种方法可以做到这一点吗? /我如何获取资源我尝试过,但它只给我资源ID#39 –

+1

你已经写了'$ target = mysql_fetch_object($ randbruker);'。难道你不认为你应该对'$ randuser'做同样的事情吗? –

回答

1

您应该获取并将结果存储在另一个变量。 $ randuser将始终返回资源ID。此外,您不需要编写两个单独的查询来获取随机用户的所有信息。 尝试删除这两个查询并只写这一个。

SELECT * FROM `brukere` WHERE `level`='1' AND `liv`>='0' ORDER BY RAND() LIMIT 1 

该查询将选取一个随机用户并返回所有关于它的数据。