apply.html
<html>
<head>
  <title>A new Application for a classroom</title>
</head><body>
  <h1>CRMS - New classroom Entry</h1>  <form action="2.php" method="post">
    <table border="0">
      <tr>
        <td>Classroom ID</td>
         <td><input type="text" name="Cno" maxlength="13" size="13"></td>
      </tr>
      <tr>
        <td>Course ID</td>
        <td> <input type="text" name="CID" maxlength="30" size="30"></td>
      </tr>
      <tr>
        <td colspan="2"><input type="submit" value="Register"></td>
      </tr>
    </table>
  </form>
</body>
</html>2.php<html>
<head>
  <title>A new Application for a classroom</title>
</head>
<body>
<h1>CRMS - New classroom Entry Results</h1>
<?php
  // create short variable names
  $Cno=$_POST['Cno'];
  $CID=$_POST['CID'];  if (!$Cno) {$Cno = "%";}
  if (!$CID) {$CID = "%";}  if (!get_magic_quotes_gpc()) {
    $Cno = addslashes($Cno);
    $CID = addslashes($CID);
  }$con = mysql_connect("localhost","root","");
//通过服务器locahost建立连接,用户名为root,无密码if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db("crms", $con);$search_classroom = "SELECT * FROM use2 
                     WHERE Cno  LIKE '{$Cno}' AND  CID LIKE $CID";
$result = mysql_query($search_classroom, $con);while($row = mysql_fetch_array($result))
  {
  echo $row['Cno'];
  echo $row['CID'];
  echo "<br />";
  }
mysql_close($con)
?>
</body>
</html>为什么这样不能实现当Classroom ID 或者Course ID没有填写时,任然能够成功搜索。我已经写了  if (!$Cno) {$Cno = "%";}
  if (!$CID) {$CID = "%";}如果没有填就用通配符,而且查询时也用了LIKE(如果查询时LIKE全部换为=则成功)。为什么?在线等!

解决方案 »

  1.   

     if (!$Cno) {$Cno = "%";}我已经设置了,如果直接用%会即使我填错了,也出现信息
      

  2.   

    $search_classroom = "SELECT * FROM use2 
      WHERE Cno LIKE '{$Cno}' AND CID LIKE '$CID'";
      

  3.   

    可以了, AND CID LIKE '$CID' 这里的''表示什么意思啊?什么时候要加引号啊?
      

  4.   

    因为你用like了。去查下mysql手册。