我有這個
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」。
爲什麼7而不是1或8 ..? – scaisEdge
**警告**:使用'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
@scaisEdge - 因爲訪問者將訪問http://example.com/?user=test&addonid=7來檢查用戶'test'是否可以訪問插件ID'7' – Jacksweet