1
 <?php

$batchcourseid = $_POST['batchcourseid'];
$coursestatus = $_POST['coursestatus'];
$batchname = $_POST['batchname'];



$conn=mysql_connect("localhost","root","qwerty");
mysql_select_db("MIS");
$sql=("SELECT * from batch where CourseID = '$batchcourseid' AND BatchName LIKE '%$batchname%'");

$results = mysql_query($sql, $conn);

?>
<table width="1070" height="54" border="1">
  <tr>
    <td height="23">BatchID</td>
    <td>CourseID</td>
    <td>Batch Name</td>
    <td>Number Of Students</td>
    <td>Start Date</td>
    <td>End Date</td>
    </tr>
  <?php  while($row = mysql_fetch_array($results)) ?>
  <?php { ?>
  <tr>
    <td height="23"><?php echo $row['BatchID'] ?>&nbsp;</td>
    <td><?php echo $row['CourseID']; ?>&nbsp;</td>
    <td><?php echo $row['BatchName']; ?>&nbsp;</td>
    <td><?php echo $row['NumStud']; ?>&nbsp;</td>
    <td><?php echo $row['StartDate']; ?>&nbsp;</td>
    <td><?php echo $row['EndDate']; ?>&nbsp;</td>
    </tr>
    <?php } ?>

このコードは、テーブルに行を与えるはずですが、表示されるのは空の行だけです。何が間違っていますか? すべての列とテキストも存在します

4

6 に答える 6

3

%LIKE文字列の一部である必要があるため'、前後ではなく、間にある必要があります。

BatchName LIKE '%$batchname%'"
于 2013-08-17T11:20:54.880 に答える
2

like は次のように記述します。

LIKE '%$batchname%'

% は引用符で囲む必要があります。

于 2013-08-17T11:25:33.477 に答える
2

選択クエリで、演算子 % のようにチェックしてください

$sql=("SELECT * from batch where CourseID = ".$batchcourseid." AND BatchName LIKE '%".$batchname."%' ");
于 2013-08-17T11:41:09.393 に答える
1

テキストの%中に入れます ( '%".$batchname."%'):

$sql="SELECT * from batch where CourseID = '".$batchcourseid"' ".
         "AND BatchName LIKE '%".$batchname."%'";

環境によっては、 SQL インジェクションに注意する必要があります。したがって、バインド変数を使用することもできます。

$sql="SELECT * from batch where CourseID = ? AND BatchName LIKE ?";

最初のパラメータを$batchname に、2 番目のパラメータを に設定します"%".$batchname."%"

于 2013-08-17T11:21:35.150 に答える
1

テキスト内の % でこれを試してください:-

$sql=("SELECT * from batch where CourseID = '$batchcourseid' 
AND BatchName LIKE '%$batchname%'");

それ以外の

$sql=("SELECT * from batch where CourseID = '$batchcourseid' 
AND BatchName LIKE %'$batchname'%");

問題の更新後に編集:-

 $sql=("SELECT * from batch where CourseID = ".$batchcourseid." AND BatchName LIKE '%".$batchname."%'
于 2013-08-17T11:21:58.243 に答える
0
$sql=("SELECT * from batch where CourseID = '$batchcourseid' AND BatchName LIKE %'$batchname'%");

に変更します

$sql="SELECT * from batch where CourseID = '$batchcourseid' AND BatchName LIKE '%$batchname%'";
于 2013-08-17T11:23:12.440 に答える