<?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'] ?> </td>
<td><?php echo $row['CourseID']; ?> </td>
<td><?php echo $row['BatchName']; ?> </td>
<td><?php echo $row['NumStud']; ?> </td>
<td><?php echo $row['StartDate']; ?> </td>
<td><?php echo $row['EndDate']; ?> </td>
</tr>
<?php } ?>
这段代码应该在一个表中给出一行。但它只是出现的空行。我做错了什么? 所有列和文本都存在
答案 0 :(得分:3)
%
必须是LIKE
字符串的一部分,因此它应该在'
之间,而不是之前/之后:
BatchName LIKE '%$batchname%'"
答案 1 :(得分:2)
喜欢应该写成如下:
LIKE '%$batchname%'
%应该在引号内。
答案 2 :(得分:2)
在您选择的查询中,请检查操作符%
$sql=("SELECT * from batch where CourseID = ".$batchcourseid." AND BatchName LIKE '%".$batchname."%' ");
答案 3 :(得分:1)
将%
放在文本('%".$batchname."%'
)中:
$sql="SELECT * from batch where CourseID = '".$batchcourseid"' ".
"AND BatchName LIKE '%".$batchname."%'";
根据您的环境,您应该了解SQL injections。所以你可能宁愿使用bind variables:
$sql="SELECT * from batch where CourseID = ? AND BatchName LIKE ?";
将第一个参数设置为$batchname
,将第二个参数设置为"%".$batchname."%"
。
答案 4 :(得分: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."%'
答案 5 :(得分:0)
$sql=("SELECT * from batch where CourseID = '$batchcourseid' AND BatchName LIKE %'$batchname'%");
将其更改为
$sql="SELECT * from batch where CourseID = '$batchcourseid' AND BatchName LIKE '%$batchname%'";