这就是我得到的:
<?php
error_reporting(0);
require 'db/connect.php';
if($result = $db->query("SELECT * FROM numbers")) {
if($count = $result->num_rows) {
while($row = $result->fetch_assoc()) {
echo $row['number'], ',';
}
}
}
?>
我在mysql的数字表中有两列,它们是数字和日期 如果我想在网页上提交我的日期并回显号码,我该怎么做?(我不想让它回应日期)
这就是我以前的总结:
<form action="test.php" method="post">
date <input type="date" name="date"><br>
<input type="submit">
</form>
答案 0 :(得分:2)
最简单的方法是使用WHERE
发送SQL查询。虽然注意这需要更仔细的方法,以防止&#34; SQL注入&#34;。这就是我要做的事情(假设您的日期列被称为date
):
$prepared = $db->prepare("SELECT number FROM numbers WHERE date=?");
$prepared->bind_param("s", $_POST["date"]); //assuming that you're storing the date as a string
$prepared->execute();
$prepared->bind_result($number);
if ($query->fetch() != null) echo $number;
else echo "No numbers exists for the particular date";
或者,你可以修改你的代码:
while($row = $result->fetch_assoc())
{
if ($row["date"] == $_POST["date"])
echo $row['number'].',';
}
但是,我建议你不要这样做,因为在想要几个值时(即使第二个代码更简单)获取所有内容通常都是不好的。另外,请确保仅在!isset($_POST["date"])
使用代码,否则$_POST["date"]
变量将被取消初始化。
还有其他方法,但我个人使用上面的方法。要了解更多信息,请查看PHP手册中的SQL函数和其他地方的SQL教程。