dongxuan58311366668 2014-02-15 14:28
浏览 16
已采纳

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

I'm trying to search for some data in a database and display it. This is the html form code I have to enter the search criteria.

<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>

This is the php code I am using. But I keep gettin an error saying undefined variable at line 18/22 and

mysql_fetch_array() expects parameter 1 to be resource

errors. Any ideas?

<?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> ";
}
  • 写回答

1条回答 默认 最新

  • 普通网友 2014-02-15 15:26
    关注

    I managed to get your code working. You mix both mysql and mysqli (I'm not sure that was the problem though).

    Good practice is to check if your mysql_query was successful and print info. Don't forget to use your own field names (I created a test database)

    <?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> ";
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的