【问题标题】:How to echo out result from mysql如何从mysql中回显结果
【发布时间】:2014-07-11 17:15:44
【问题描述】:

这是我得到的:

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

【问题讨论】:

  • &lt;input type="hidden" name="date" value="$row['date']"&gt;?
  • 所以您想输入一个日期,然后在您的 MySQL 表中搜索该日期,然后回显与该日期对应的数字?
  • @oliakaoil 是的,没错!你知道有什么方法吗?

标签: javascript php mysql html


【解决方案1】:

最简单的方法是发送带有WHERE 的SQL 查询。虽然请注意,这需要更谨慎的方法,以防止“SQL 注入”。这是我要做的(假设您的日期列称为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 教程。

【讨论】:

    猜你喜欢
    • 2018-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多