php - 在日期之间搜索但提交搜索时没有显示

标签 php mysql

我知道我做错了,因为我只是通过名称搜索编辑了这个,有人可以帮我弄清楚我做错了什么吗?尝试搜索但没有任何结果。

    <form name="frmSearch" method="get" action="<?=$_SERVER['SCRIPT_NAME'];?>"
  <table class="table table-bordered">
    <tr>
      <th>Search by date
      <input name="ftxtKeyword"  type="date" id="ftxtKeyword" value="<?=$_GET["ftxtKeyword"];?>"> Between
      <input name="btxtKeyword"  type="date" id="btxtKeyword" value="<?=$_GET["btxtKeyword"];?>">
      <input type="submit" class="btn btn-primary" value="Search">
    </tr>
  </table>
</form>

<?
if($_GET["ftxtKeyword"] != "")
    {
    $objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
    $objDB = mysql_select_db("mydatabase");
    $strSQL = "SELECT * FROM service WHERE Service_date BETWEEN ".$_GET["ftxtKeyword"]." AND ".$_GET["btxtKeyword"]."";
    $objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
    ?>

最佳答案

您的 SQL 语句没有正确引用日期。

代替

$strSQL = "SELECT * FROM service WHERE Service_date BETWEEN ".$_GET["ftxtKeyword"]." AND ".$_GET["btxtKeyword"]."";

改成

$strSQL = "SELECT * FROM service WHERE Service_date BETWEEN '".$_GET["ftxtKeyword"]."' AND '".$_GET["btxtKeyword"]."'";

注意事项:

  1. 请考虑@RiggsFolly 的建议...不要使用已弃用的函数,因为当您最终迁移到服务器(或将 PHP 升级到更高版本)时,您会遇到很多麻烦事。

  2. 避免对 echo 使用 PHP 短标签秒。而不是 <?=使用 <?php echo .为什么?想一想当您将代码移动到 php.ini 的环境时会发生什么设置是否关闭了短标签?...令人头疼。

  3. 一般来说,我建议使用 POST作为表单的方法而不是 GET ;当你使用 GET ,当您点击提交按钮时,您就在 URL 中公开了参数等......并且

  4. 不要使用 POSTGET直接在 SQL 语句中的值。使用准备好的语句并始终清理用户输入...作为黄金经验法则:永远不要相信用户 :)

关于php - 在日期之间搜索但提交搜索时没有显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49300085/

相关文章:

php - 这个查询有什么问题

php - 使用 PHP + CodeIgniter 从 MySQL 数据库生成无序列表

python - Unicode解码错误: 'utf8' codec can't decode byte 0xc7 in position 27: invalid continuation byte django

php - 缺少 SELECT 语句的第一行

PHP选边一死了?

php - Paypal REST API - 访问 token 是否可重用?

php - 基于条件的sql查询结果

MySQL/PHP 自动提示

mysql - Ruby on Rails - 数据库或 excel

PHP 取消链接总是失败