Всем привет Когда ввожу правильный ключ в ссылке buy.php?key=0buGoYsQ, то всё хорошо и отображается, а когда не правильный который не в базе данных то пишет ошибку где key, group и time, вот такую: Illegal string offset хотелось бы исправить данную проблему. и надо чтобы писало "Ключ не найден" Всем спасибо кто откликнется. Warning: Illegal string offset 'group' in путь on line 41 PHP: <?php $key=isset($_GET['key'])?$_GET['key']:1; $link = mysqli_connect ('хост','логин','пароль','база ключей'); echo "<h2><center>Ваш ключ:</h2>"; ?> <h2>Привилегия: <?php echo $data['group'] ?></h2> <h2>Время окончания действия: <?php echo $data['time'] ?></h2> <h2> Чтобы получить привилегию нужно ввести<br> В чат: !vipkey <?php echo $data['key'] ?><br> Оставьте пожалуйста отзыв, он очень важен для нас <a href=""></a><br> Доступные команды: !admin ,!vip<br> Спасибо за покупку!<br><br> Бинды для паутинки<br> bind "z" "+hook" //Паутинка <br> bind "x" "+grab" //Граб<br> </h2>
Простите( PHP: $sql = "SELECT * FROM `vip_keys` WHERE `key`='$key'"; $result = mysqli_query($link,$sql); $data = mysqli_fetch_assoc($result); Вот
Пожалуйста без самоделятельности. Не надо показывать одно, а тестировать другое. Ты сам себе вредишь. Написано: offset: 0 а в твоём коде в той строке, что якобы №41, индекс массива/строки не 0, а 'group'! --- Добавлено --- http://php.net/mysqli_fetch_assoc понимаешь, что происходит? если $key в твоём запросе ошибочный, то вместо массива, в $data будет NULL. что ты там делаешь за кадром мы хз. ты всё спрятал, партизан ))) но рецепт такой: проверяй, вдруг переменная $data пустая. например так: PHP: ... $data = mysqli_fetch_assoc(...); if ($empty(data)) { die('Ключ не найден'); }
А я сам додумал, вот так уже PHP: $non = "Not found"; if(empty($data)) { echo '<h6>' . $non . '</h6>'; return; }