PHP查询赢得';无法从HTML href链接工作
我正在创建一个网页,允许我按县搜索位置。我正在尝试在我的基本主页上创建一个href链接,它将调用一个Php函数,然后显示来自我的Sql数据库的结果。 不知道为什么,但当我点击href链接时,主页变成空白,没有返回值。已经过代码和数据库的测试,已经向一些朋友展示过,但无法找出问题所在。感谢您的帮助 这是我的index.php主主页代码(href大约向下一半)PHP查询赢得';无法从HTML href链接工作,php,html,sql,Php,Html,Sql,我正在创建一个网页,允许我按县搜索位置。我正在尝试在我的基本主页上创建一个href链接,它将调用一个Php函数,然后显示来自我的Sql数据库的结果。 不知道为什么,但当我点击href链接时,主页变成空白,没有返回值。已经过代码和数据库的测试,已经向一些朋友展示过,但无法找出问题所在。感谢您的帮助 这是我的index.php主主页代码(href大约向下一半) 定位侦察 按县搜索 这是我的getAntrim.php函数,它应该对sql数据库进行排序,然后返回指定的值 <?php
定位侦察
按县搜索
这是我的getAntrim.php函数,它应该对sql数据库进行排序,然后返回指定的值
<?php
include ("includes/db.php");
if (isset ($_GET['getAntrim'])) {
$get_loc_co = "select * from locations where county='Antrim'";
$run_loc_co = mysqli_query($db, $get_loc_co); //Gets data from db and presents on main page
$count = mysqli_num_rows($run_loc_co);
if ($count==0) {
echo "<h2>No locations found in this category.";
}//if
while ($row_loc_co=mysqli_fetch_array($run_loc_co)) {
//variable to store values
$loc_id = $row_locations['loc_id'];
$loc_name = $row_locations['loc_name'];
$town = $row_locations['town'];
$county = $row_locations['county'];
$productions = $row_locations['productions'];
$disabled = $row_locations['dis_access'];
$parking = $row_locations['parking'];
$visitor = $row_locations['vis_facs'];
$transport = $row_locations['public_trans'];
$cost = $row_locations['cost'];
$accom = $row_locations['accom'];
$latitude = $row_locations['latitude'];
$longitude = $row_locations['longitude'];
$description = $row_locations['loc_desc'];
$keyword = $row_locations['loc_keyword'];
$loc_image = $row_locations['loc_img'];
echo "
<div id= 'single_location'>
<h3>$loc_name</h3>
<img src = 'Admin_area/location_images/$loc_image' width='180' height = '180'/><br>
<p><b>Productions: $productions </b></p>
<p><b>Description: $description </b></p>
</div>
";
}//while
}//if
?>
您正在检查一个查询参数,但没有传入:
<a href="getAntrim.php">Antrim</a><br></br>
if (isset ($_GET['getAntrim'])) {
^^^^^^^^^
使这项工作正常。您的代码不起作用,错误可能在某个地方的错误日志中找到(取决于web服务器)。您在此处覆盖$run\u loc\u co
变量while($row\u loc\u co=mysqli\u fetch\u数组($run\u loc\u co)){
将其更改为while($row\u locations=mysqli\u fetch\u数组($run\u loc co)){
谢谢cmorrissey。我尝试过这一点和下面的其他建议,现在出现了其他错误消息。我在下面的新答案中粘贴了屏幕截图。谢谢你回复我。我尝试过了,现在收到了一些错误消息。如果你能够查看,我已经粘贴了屏幕截图。你的查询失败,你没有错误处理,并且使用了布尔值False,查询调用返回的结果就好像它是一个结果集一样,导致了进一步的错误。好的,我不确定你的意思,但会再看一看。再次感谢。null give
:你没有正确连接到数据库,或者$DB
不是你的数据库连接句柄。这意味着你的查询()失败,并返回失败语句。由于这不是结果,num_rows也会失败。基本上:您编写代码时好像什么都不会出错,这正是错误的态度。在处理外部资源(尤其是数据库)时,永远不要假设成功。即使您编写的SQL语法是100%完全有效的,也有几乎无限的其他失败方式(例如,坏外键、数据库崩溃、网络死机等等)。始终假设失败,检查失败,并将成功视为惊喜。
<a href="getAntrim.php">Antrim</a><br></br>
if (isset ($_GET['getAntrim'])) {
^^^^^^^^^
<a href="getAntrim.php?getAntrim">Antrim</a><br></br>
^^^^^^^^^^