Почему этот erorr снова(mysqli_num_rows() ожидает параметр)
У меня есть таблица с именем tbl_video, которая состоит из двух полей (video_id, video_title), которые я хочу добавить кнопку load more с помощью Ajax JQuery, например сайтов социальных сетей .Я могу получить первые четыре записи, но когда я пытаюсь получить другие, то получаю это исключение .Что я делаю не так?
Что я уже пробовал:
this my index.php file I create table structure here and then fetch records. <pre lang="php"> <pre> <table class="table table-bordered" id="load_data_table"> <thead> <tr> <td width="15%">Video Id</td> <td>Video Title</td> </tr> </thead> <?php while ($row = mysqli_fetch_array($result)) { $video_id = $row['video_id']; ?> <tr> <td><?php echo $row['video_id']; ?></td> <td><?php echo $row['video_title']; ?></td> </tr> <?php } ?> <tr id="remove_row"><td><button type="button" class="more btn btn-success form-control" data-id="<?php echo $video_id; ?>">More</button></td></tr> </table> </div>
<script> function moreButton(){ $('.more').click(function(){ var id=$(this).data("id"); $.ajax({ url:"more.php", data:{id:id}, method:"post", success:function(data){ if(data!=''){ $('#load_data_table').append(data); $('#remove_row').remove(); moreButton(); } else{ $('.more:last').html("No Data"); } } }); }); } $(document).ready(function(){ moreButton(); });
and this the more.php file.I think it is self explanatory
<?php ini_set('display_errors', 1); $id = $_POST['id']; $output = ''; $db = mysqli_connect('localhost', 'root', '', 'testing'); $data = mysqli_query($db, "select * from tbl_video where video_id >{$id} limit 2"); if (mysqli_num_rows($data)) { while ($row = mysqli_fetch_array($data)) { $output .= ' <tbody> <tr> <td>'.$row['video_id'].'</td> <td>'.$row['video_title'].'</td> </tr> '; } $output .= '<tr id="remove_row"><td><button type="button" class="more btn btn-success form-control" data-id="'.$row['video_id'].'">More</button></td></tr></tbody>'; echo $output; }
любая помощь будет оценена.
Richard Deeming
$data = mysqli_query($db, "select * from tbl_video where video_id >{$id} limit 2");
Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов | OWASP[^]
PHP: SQL-инъекция - руководство пользователя[^]