Как использовать $ _GET в mysqli / php для извлечения целого числа из URL? - PullRequest
0 голосов
/ 19 сентября 2018

Как использовать $ _GET в MySQLI / PHP для извлечения целого числа из URL-адреса для привязки в оператор SQL?

Создание страницы блога esque, где содержимое хранится в базе данных, что означает, чтоможет быть несколько страниц без необходимости большого количества файлов.

На странице индекса есть ссылки на эти страницы, после нажатия URL-адрес изменяется на страницу блога с опубликованным идентификатором:

pages / article.php? Id = 1

Вот как -

for($x=0;$x<$articlesFetched;++$x){
    $row=mysqli_fetch_array($data);
    //create div
    echo '<div class="col-lg-4 col-md-6 col-sm-6 col-xs-12" id="articleDiv">';
    echo "<img class='img-responsive' id='articleImage' src=".$row['articleThumbnail'].">";  
    echo '<h5><a href="article.php?id='.$row['articleId'].'">'.$row['articleHeadline'].'</a></h5>';
    echo '<p>',$row['articleSummary']," ",'</p>';
    echo '<div class="row">';
    echo '<p>' , $row['articleTopic']," | ",'</p>';
    echo '<p>', $row['articleSubTopic']," | ",'</p>';
    echo '<p>',$row['articleDate']," | ",'</p>';
    echo '</div>';            
    echo '</div>';
}

PS - извините, отступ, копирование и вставка, похоже, мешают форматированию.

Чтобы показать разницу между содержимым страницы, я использовалидентификатор, который можно связать с оператором SQL, например 'SELECT * FROM table WHERE id=?'

Вот как:

$id=$_GET['articleId'];
$stmt = $conn->prepare("SELECT * FROM Article WHERE articleId=?");
$stmt->bind_param("i",$id);
$stmt->execute();

Однако, когда веб-страница открыта, ее содержимое отсутствует, так как существуетНеопределенная ошибка индекса, указывающая $id=$_GET['articleId'];

При проверке, установлена ​​ли переменная $id=$_GET['articleId'];, вывод равен FALSE.

Ответы [ 3 ]

0 голосов
/ 19 сентября 2018

На самом деле ваш URL становится примерно таким: -

article.php?id=1 //for example

Так что вам нужно сделать: -

$id = $_GET['id']; // not $_GET['articleId']
0 голосов
/ 19 сентября 2018

Ваш URL pages/article.php?id=1 Но вы используете $id=$_GET['articleId'];

Вы просто используете его $id=$_GET['id'];

Код:

$id=$_GET['id'];
$stmt = $conn->prepare("SELECT * FROM Article WHERE articleId=?");
$stmt->bind_param("i",$id);
$stmt->execute();
0 голосов
/ 19 сентября 2018

В $_GET вы использовали articleId, но на URL вы вставили id.Оба имени должны быть одинаковыми, только тогда они будут получать данные.

Как пример

www.yoursite.com/category?q=myname

<?php
   echo $_GET['q'];  //Output: myname
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...