在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
字段。其他格式可能不匹配。无单引号和单引号..不工作