$query="SELECT * FROM t_News where $select = \"$textfield\"" ;下划线不是这样加的。不要带下划线。如果想转义,就这样:
$textfield=addslashes($textfield);
$query="SELECT * FROM t_News where $select = "$textfield" ;

解决方案 »

  1.   

    这样更简单
    $query="SELECT * FROM t_News where $select ='$textfield'"要用addslashes的话还得在PHP.ini里面配置maqic_quotes_gpc选项
      

  2.   

    请打印出$query和mysql_error()查看具体错误
      

  3.   

    以下是我测试能得到的代码,你看看你自己的哪里出错了。<HTML> 
    <HEAD> 
    <TITLE>test</TITLE> 
    </HEAD> 
    <BODY> 
    <table>
    <form method="post" action="<?=$_SERVERS['PHP_SELF'];?>?select=<?=$select;?>&textfield=<?=$textfield;?>">
                <tr>
                  <td height="27" colspan="2"> <span class="style2">关键字:</span>
                      <input name="textfield" type="text" size="8" >
                  </td>
                </tr>
                <tr>
                  <td colspan="2">
                    <select name="select">
                      <option selected value="TITLE">新闻标题</option>
                      <option value="KEYWORD">新闻内容</option>
                    </select>
                    <input type="submit" name="Submit" value="搜索">
                  </td>
                </tr>
    </form></table>
    </BODY> 
    </HTML> <?$select=$_REQUEST["select"];
    $textfield=$_REQUEST["textfield"];ECHO "select=".$select."<BR>";
    ECHO "textfield=".$textfield."<BR>"; if(!$textfield)
      {
        echo "查询全部";
      }
      else
      {
        echo "按条件查询";
      }?>
    还有你的sql语句$query="SELECT * FROM t_News where $select = \"$textfield\"" ;
    这样写可能会更好些:$query="SELECT * FROM t_News where $select = '".$textfield."'" ;你这个是搜索的,为何不用模糊匹配?$query="SELECT * FROM t_News where $select like '%$textfield%" ;
      

  4.   

    就是变量传递的问题,我用
    $select=$_REQUEST["select"];
    $textfield=$_REQUEST["textfield"];
    不行,用:
    $select=$_POST["select"];
    $textfield=$_POST["textfield"];
    还是不行,地址栏里显示:
    http://localhost/news/$PHP_SELF?select=&textfield=
      

  5.   

    不可能,你把我的代码copy到你的机器上,然后运行看看,我在我机器上测试没问题呢。你把html和php的代码放到一个文件中,肯定行然后再仔细检查你自己的文件哪里写错了
      

  6.   

    太棒了,我知道我那里写错了
    action="$PHP_SELF?select=<?php echo($select)?>
    这个action写错了,$PHP_SELF没有用<?php ?>括起来。
    谢谢各位了,结帖了