Php 从SQL数据库中搜索和显示数据

Php 从SQL数据库中搜索和显示数据,php,html,Php,Html,我试图在数据库中搜索一些数据并显示出来。这是html表单代码,我必须输入搜索条件 <h2> Search </h2> <form action = "search.php" method = "post" > Search for: <input type = "text" name ="find" /> in <select NAME = "field"> <Option VALUE = "Animal Type

我试图在数据库中搜索一些数据并显示出来。这是html表单代码,我必须输入搜索条件

<h2> Search </h2>
<form action = "search.php" method = "post" >
  Search for: <input type = "text" name ="find" /> in
  <select NAME = "field">
    <Option VALUE = "Animal Type"> Animal Type</option>
    <Option VALUE = "latitude"> Latitude</option>
    <Option VALUE = "longitude"> longitude</option>
    <Option VALUE = "dateseen"> Date Required</option>
    <Option VALUE = "timeseen"> Time</option>
  </select>
  <inpput type= "hidden" name = "searching" value ="yes"/>
  <inpput type= "submit" name = "search" value ="Search"/>
</form>
搜索
搜索:在
动物类型
纬度
经度
所需日期
时间
这是我正在使用的php代码。但我一直在第18/22行输入一个错误,即未定义变量

mysql_fetch_array()希望参数1是资源

错误。有什么想法吗

<?php

if ($searching=="yes")
  {echo "<h2> Results</h2><p>";
  }

if ($find=="")

{echo "<p> Please enter a search iten";
exit;

}

$link=mysqli_connect("localhost","root","");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$db_selected = mysqli_select_db($link,"Animal_Tracker");

if (!$db_selected)
  {
  die ("Can\'t use test_db : " . mysqli_error());
  }

$find = strtoupper($find);
$find = strip_tags($find);
$find = trim($find);

$sql=mysql_query("Select * FROM Animal_Tracker WHERE upper($field) LIKE '%$find%' ");

while($result = mysql_fetch_array($sql))
{
    echo $result ['Animal Type'];
    echo " ";
echo $result ['latitude'];
echo "<br> ";
echo $result ['longitude'];
echo " <br>";
echo $result ['dateseen'];
echo " <br> ";
echo $result ['timeseen'];
echo "<br> ";
echo "<br> ";
}

我设法使您的代码正常工作。您混合使用mysql和mysqli(但我不确定这是问题所在)

好的做法是检查mysql\u查询是否成功并打印信息。别忘了使用自己的字段名(我创建了一个测试数据库)


您在SQL查询中使用了一个名为
$field
的变量,但您没有在任何地方定义它。您正在建立mysqli连接并执行mysql_*函数。谢谢您的帮助,但您能否告诉我如何使用代码的前六行。我如何定义$find和$search以便它也可以访问HTML代码?否则,即使我没有输入任何信息,它也会显示数据库中的所有数据当然,请看这里。这是一个非常常见的问题。
<?php


$link=mysqli_connect("localhost","root","");

if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$db_selected = mysqli_select_db( $link, "Animal_Tracker");


 if (!$db_selected){
        die("Couldn't select database $db ".mysqli_error($link));
}


$sql=mysqli_query($link, "Select *  FROM location");

if ($sql == FALSE)
{
  die($sql." Error on query: ".mysqli_error($link)); 
}

while($result = mysqli_fetch_array($sql))
{
    echo $result ['x'];
    echo " ";
    echo "<br> ";
}