做了一个搜索数据功能,在运行的时候出现这个,
达人们帮忙看看,顺便把代码页贴出来...if($_POST['select_buton']=='查询'){
  $choose_area=$_POST['choose_area'];
  $search=$_POST['search'];
  $sql=mysql_query("select * from tbl_area where $choose_area like '%".trim($search)."%'");
  }
  $row=mysql_fetch_object($sql);
  do{
  ?>
  <tr>
   <td><?php echo $row->ID;?></td>
    <td><?php echo $row->arSN;?></td>
    <td><?php echo $row->arName;?></td>
    <td><?php echo $row->arUpSN;?></td>
    <td><?php echo $row->arIsHide;?></td>
    <td><?php echo $row->arOrder;?></td>
  </tr>
  <?php 
  }while($row=mysql_fetch_object($sql));
    }
  ?>

解决方案 »

  1.   

    1.检查数据库连接成功了没
    2.把你的sql语句输出一下。在数据库有记录吗
      

  2.   


    <?php
    if($_POST['select_buton']=='查询'){
        $choose_area=$_POST['choose_area'];
        $search=$_POST['search'];
        $sql=mysql_query("select * from tbl_area where $choose_area like '%".trim($search)."%'");
        while($row=mysql_fetch_object($sql)){
    ?>      <tr>
          <td><?php echo $row->ID;?></td>
          <td><?php echo $row->arSN;?></td>
          <td><?php echo $row->arName;?></td>
          <td><?php echo $row->arUpSN;?></td>
          <td><?php echo $row->arIsHide;?></td>
          <td><?php echo $row->arOrder;?></td>
          </tr>
    <?php
        }
    }
     
      

  3.   

    这样的提示多数都是SQL在执行的时候出现错误.输出SQL语句然后到MYSQL 的终端执行一下看看
      

  4.   

    你把你的SQL语句贴出来看看。
      

  5.   

    $sql="select * from tbl_area where $choose_area like '%".trim($search)."%'";
    echo $sql;
    把这个语句放到mysql里去运行一下看看有问题没?
      

  6.   

    输出sql语句看看,看可以在mysql执行不? $sql=mysql_query("select * from tbl_area where $choose_area like '%".trim($search)."%'");
      

  7.   

    问题出来了 $sql=mysql_query("select * from tbl_area where $choose_area like '%".trim($search)."%'");这是字段,应该去除$, $sql=mysql_query("select * from tbl_area where choose_area like '%".trim($search)."%'");
      

  8.   

    where 后面的是条件,但是那个$chooese_area是提交过来的字段
      

  9.   

    赶紧按照我说的办 别在这纠结了。
    phpadmin干嘛使的...
      

  10.   

    应该是你表中那个产地的字段来作为where 查询的条件的~你不用表里的数据~用2个变量做模糊查询能不出问题才怪
      

  11.   

    错误提示 mysql_fetch_object($sql);函数报错,$sql不是一个有效的mysql 连接资源,
    那这样的话就是
    if($_POST['select_buton']=='查询'){
         ...
        $sql=mysql_query("select * from tbl_area where $choose_area like '%".trim($search)."%'");
        ... 
     }
    这段没有执行吧
      

  12.   

    <?php
        include"../conn/conn.php";
    $fa=$_GET['fa'];
    $cont = $_GET['cont'];
    $strs=explode("*",$cont);
    while(list($name,$value)=each($strs)){
    $sql=mysql_query("select * from tbl_area where $fa like '%".trim($value)."%'");

    $myrow=mysql_fetch_array($sql);
    }
    if($myrow){
    do{
    ?>
        <tr align="center" style="line-height:27px;">
         <td><?php echo $string=str_ireplace($cont,"<font color='#FF0000'>$cont</font>",$myrow[ID]);?></td>
            <td><?php echo $string=str_ireplace($cont,"<font color='#FF0000'>$cont</font>",$myrow[arSN]);?></td>
            <td><?php echo $string=str_ireplace($cont,"<font color='#FF0000'>$cont</font>",$myrow[arName]);?></td>
            <td><?php echo $string=str_ireplace($cont,"<font color='#FF0000'>$cont</font>",$myrow[arUpSN]);?></td>
            <td><?php echo $string=str_ireplace($cont,"<font color='#FF0000'>$cont</font>",$myrow[arOrder]);?></td>
        </tr>
        <?php

    }while($myrow=mysql_fetch_array($sql));
    }

    ?>
      

  13.   

    数据表中的数据:没有乱码的
           1 CD005 海南   0 4 
          3 CD002 海南   0 7 
          4 CD003 随碟附送地方   0 9 
          6 CD004 长春 吉林 0 10 
          7 CD006 成都 四川 0 8 
          8 CD007 天水 甘肃 0 11 
          9 CD008 广州 广州 0 12 
     全选 / 全部不选 选中项:      
      

  14.   

    echo "select * from tbl_area where $choose_area like '%".trim($search)."%'";
    然后贴到phpmyadmin看看什么错误
      

  15.   

    select * from tbl_area where $choose_area like '%".trim($search)."%'";
    改成
    select * from tbl_area where $choose_area like binary '%".trim($search)."%'";
      

  16.   


    你这样写 不加 html 头的话。传进去的值 一般 是 gb2312 的。 看看你 的字段设置的是 什么编码类型!
    再看看 你查询的源代码  html 的头 是不是 utf-8 的
      

  17.   

    html 头是有的,数据库中字段设置的是UTF-8的
      

  18.   


    传递过来的参数直接做一个转换
    $Str=iconv('gbk','UTF-8',$_POST['str']);然后搜索这个$Str.