如何从mysql中回显出结果

时间:2014-07-11 17:15:45

标签: javascript php html mysql html5

这就是我得到的:

<?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>

1 个答案:

答案 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教程。