Я пытаюсь отобразить запись из базы данных MySql, которая выбирается данными GET.PHP не отображает результаты из базы данных MySQL
if (isset($_GET["id"])){
$id=$_GET["id"];
$result = getSelectedBlog($id);
while($row = mysqli_fetch_array($result))
{
extract($row);
?>
<div class="headline"><?php echo $headline ?></div>
<div class="subtitle"><?php echo $subTitle ?></div>
<div class="content"><?php echo $content ?></div>
<?php
}
Вот SQL заявление:
function getSelectedBlog($id){
$con = mysqli_connect('localhost', 'root', '', 'michaelWebsite') or die('could not connect');
$sql = 'SELECT * FROM tblArticle WHERE tblArticle.articleID LIKE "$id"';
$result = mysqli_query($con, $sql) or die('entry does not exist.:' . mysqli_error($con));
return $result;
}
Как вы можете видеть, я передаю ГЭТ данные как $ ид к методу, который возвращает результат. Однако ничего не возвращается. На данный момент есть три записи, если я изменил $ id в выражении SQL на 1, 2 или 3, он отобразит соответствующие данные, но он просто не будет работать с переменной $ id.
URL-адрес заканчивается правильной информацией? Id = 1.
Прошу извинить меня, если это что-то глупое, я только что застрял на этом в течение нескольких часов!
Попробуйте добавить 'var_dump ($ ID),' внутри функции посмотрим, что это. –
У вас есть отверстие для инъекции SQL в вашем коде - прямо с помощью '$ _GET ['id']' в запросе. Прочитайте [this] (http://bobby-tables.com), прежде чем идти дальше с этим кодом. –
Вы используете функции mysqli_ *, как если бы они были функциями mysql_ *. Попробуйте выйти из идентификатора $ id, ваш код уязвим для инъекции mysql ($ id поступает из $ _GET, не подвергается дезинфекции и не вставлен прямо в запрос. Погрузитесь в хороший учебник mysql/mysqli/pdo и mysql. для PDO и MySQL. Удачи. –