У меня есть этот
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, но я хочу $ 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' доступ к идентификатору аддона '7' – Jacksweet