Php 从mysql_fetch_数组回显数据

Php 从mysql_fetch_数组回显数据,php,mysql,Php,Mysql,我试图显示从“日期”中选择的数据库表中的数据。 查询将执行,但当我回显时,没有得到任何结果。你能帮我做这个吗 <?php include 'includes/connection.php'; ?> <html> <head> <title> </title> </head> <body> <?php if(isset($_POST['submitted'])){ $sql = "SELECT * FROM

我试图显示从“日期”中选择的数据库表中的数据。 查询将执行,但当我回显时,没有得到任何结果。你能帮我做这个吗

<?php include 'includes/connection.php'; ?>
<html>
<head>
<title> </title>
</head>
<body>
<?php 
if(isset($_POST['submitted'])){
$sql = "SELECT * FROM dagtaken WHERE datum = $_POST[datum]";

$result = mysql_query($sql) or die (mysql_error());
while ($row = mysql_fetch_array($result)){
echo $row['aantal'];
}
}else{
?>
<form action='' method='POST'>
<p><input type="date" name="datum"></p>
<p><input type='submit' value='Dagtaak toevoegen' />
<input type='hidden' value='1' name='submitted' /></p>
</form>
<?php } ?>
</body>
</html>


您尚未命名提交按钮,因此您的PHP代码永远不会生效。当您真正需要的只是检查是否发生了POST时,不要检查表单字段

快速修复代码:

<input type="submit" name="submitted" value="Dagtaak toevoegen" />
                    ^^^^^^^^^^^^^^^^^

首先,避开你的数据。SQL注入现在非常容易

第二,您的数据库中有数据吗? 尝试打印($row)而不是echo$row

$\u POST带有引号…=>$\u POST[“基准”]
最后一点,您的日期是否与输入的日期相同?

查询不应执行,因为日期显然是字符串,需要引号。也就是说

试试这个:

mysql_query("SLEECT * FROM `dagtaken` WHERE `datum`='".mysql_real_escape_string($_POST['datum'])."'");

现在转到实际问题,您正在检查
if(isset($\u POST['submitted'])
,但我看不到
Nice。享受你的服务器pwn3d。尽可能远离mysql方法。使用或。您的代码中是否有任何警告或错误消息?如果您需要调试代码,那么打印变量内容如何?尝试将其放入循环
var\u导出($row)修复了我的代码,我也故意跳过了转义字符串,现在就插入了它。谢谢此外,这个“网站”im构建仅供个人使用,因此我不太担心安全问题。他隐藏了名为“提交”的输入。
他也可以简单地检查
是否设置了(isset($\u POST))
$\u POST
,即使请求是
GET
。它将是一个空数组。我知道我应该首先转义字符串,但我跳过了它,因为我想让它先工作。插入了转义字符串,谢谢你的回答。
mysql_query("SLEECT * FROM `dagtaken` WHERE `datum`='".mysql_real_escape_string($_POST['datum'])."'");