Я исследовал здесь в stackoverflow, пытаясь выяснить, сталкивается ли кто-то также с той же проблемой. Я знаю, что это довольно просто, и даже я действительно не знаю, в чем ошибка, потому что нет проблем с моим запросом.
На предыдущей странице приведен мой код для получения идентификационного номера, поэтому я смогу выбрать данные с этим идентификационным номером:
<a href="package.php?place_id=<?php $row['place_id'];?>"><?php echo $row['place_name'];?></a>
Сначала я попытался напечатать значение идентификатора места, и оно работает нормально.
Но когда он вызывался на страницу пакета, данные, которые я хочу показать, не отображались.
Я смотрю на URL, и он показывает это после package.php
place_id =
Я не знаю, почему он пуст, пожалуйста, проверьте мой код, если он отсутствует или просто неверен.
На моей странице пакета вот код PHP:
<?php
include("common/connect.php");
$place_id = $_GET['place_id'];
$result = mysql_query("SELECT * FROM package_items WHERE place_id = '$place_id'");
$row1 = mysql_fetch_array(mysql_query("SELECT place_name FROM packages WHERE place_id = '$place_id'"));
if($result === FALSE) {
die(mysql_error()); // for better error handling
}
?>
В HTML-коде:
<h1><?php echo $row1['place_name'];?></h1>
<?php while($row=mysql_fetch_array($result)) {?>
<?php echo $row['item_title'];?>
<br>
<a href="package-places.php"> Back </a>
<?php } ?>
Пожалуйста, проверьте мои коды. Благодарю.
Вы не печатаете это.
+ Изменить
<?php $row['place_id'];?> // It will output nothing as no echo or print.
к
<?php echo $row['place_id'];?>
Остальная часть кода выглядит нормально.
Три предложения:
1)
$ place_id = $ _GET [‘place_id’];
Изменить на
$ place_id =! пусто ($ _ GET [‘place_id’])? $ _GET [‘place_id’]: »; // Чтобы избежать какого-либо предупреждения.
2) Не кормите переменную из $_GET
или же $_POST
на любой SQL.
3) Не используйте mysql_
функции, поскольку они устарели и будут удалены в будущих версиях PHP.
Других решений пока нет …