在php中找不到输出值?

在php中找不到输出值?,php,sql,Php,Sql,我有一个表attentience\u record,其中有5个字段,date是其中一个字段,但找不到输出。我的问题如下: $result=mysqli_query($con,"select * from attendence_record where date='$_POST[date]' "); $serialnumber=0; $counter=0; while($row=mysqli_fetch_array($result)) { $serialnumber++; } ?>

我有一个表
attentience\u record
,其中有5个字段,
date
是其中一个字段,但找不到输出。我的问题如下:

$result=mysqli_query($con,"select * from attendence_record where date='$_POST[date]' ");

$serialnumber=0;
$counter=0;  
while($row=mysqli_fetch_array($result))
 {
$serialnumber++; 
}
 ?>
<td><?php echo $row['student_name'];?> </td>
<td><?php echo $row['roll_number'];?>
</td>
$result=mysqli\u query($con,“从出席记录中选择*,其中日期为“$”);
$serialnumber=0;
$counter=0;
while($row=mysqli\u fetch\u数组($result))
{
$serialnumber++;
}
?>

为我成功工作

$stmt = $con->prepare("SELECT * FROM `attendence_record` Where date = ?");
$stmt->bind_param('s', $_POST['date']); 
if ($stmt->execute()) {
    $result = $stmt->get_result();
    while ($row = $result->fetch_assoc()) {
        //result is in row
    }
}

警告:使用
mysqli
时,您应该使用和将用户数据添加到查询中。不要使用字符串插值或串联来完成此操作,因为您已经创建了严重的错误。切勿将
$\u POST
$\u GET
或任何用户数据直接放入查询中,如果有人试图利用您的错误,这可能会非常有害。注意:
mysqli
的面向对象界面明显不那么冗长,使代码更易于阅读和审核,并且不容易与过时的
mysql\u查询
接口混淆。在你对程序性风格投入太多之前,值得换一种。示例:
$db=newmysqli(…)
$db->prepare(“…”)
过程接口是PHP 4时代的产物,当时引入了
mysqli
API,不应在新代码中使用。请确保日期值填充和格式正确。是的,填充和格式正确。通常情况下,这是
YYYY-MM-DD
格式,以匹配
date
字段。其他格式可能不匹配。无单引号和单引号..不工作