2017-02-09 13 views
0

我有這個

require('checker.php'); 
require('mysql_connect.php'); 

$username = $_GET['username']; 
// add-ons 
$addonid = $_GET['addonid']; 
// --------------------------------------------------------------------------------- 

$query1 = "SELECT * FROM `data_addons` WHERE `username` = ".$username; 
$result = $mysqliconn->query($query1); 

和表「data_addons」不會有包含相同的$用戶名僅僅只有1列,所以這將是一樣,在我的桌子:

|username|   |addonid| 
test    1 
test    7 
test    8 
dux    1 
etc    etc 

你看? 「測試」將多次。

如何使用類似的東西:

if($result->num_rows > 0) { 
    // output data of each row 
    while($row = $result->fetch_assoc()) { 
     if($addonid == $row["addonid"]) { 
      echo "The user have access to the addon!"; 
     } 
    } 
} 

因爲$行[「addonid」]有很多這是1,7,8的值,但我想$ I不能使用上面的代碼例如,addonid爲「7」。

+0

爲什麼7而不是1或8 ..? – scaisEdge

+1

**警告**:使用'mysqli'時,您應該使用[參數化查詢](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)和['bind_param']( http://php.net/manual/en/mysqli-stmt.bind-param.php)將用戶數據添加到您的查詢中。 **不要**使用字符串插值或連接來完成此操作,因爲您創建了嚴重的[SQL注入漏洞](http://bobby-tables.com/)。 **絕不**將'$ _POST'或'$ _GET'數據直接放入查詢中,如果有人試圖利用您的錯誤,這會非常有害。 – tadman

+0

@scaisEdge - 因爲訪問者將訪問http://example.com/?user=test&addonid=7來檢查用戶'test'是否可以訪問插件ID'7' – Jacksweet

回答

0

如果你想要的規定,而規定的數量得到一個用戶名,您可以執行以下操作:

$query = "SELECT * FROM mytable WHERE Usernames='test' AND Id='7'"; 
+0

我正在考慮這樣做,現在我正在測試。 – Jacksweet

+0

這麼簡單和工作。謝謝! – Jacksweet

0

檢查,如果這對你的作品。

foreach($result as $key=>$value){ 
      if("addonid" == $key && $value == $addonid) { 
       echo "The user have access to the addon!"; 
      } 
    }