【问题标题】:warning mktime() expects parameter 4 to be long string警告 mktime() 期望参数 4 是长字符串
【发布时间】:2014-11-24 18:47:20
【问题描述】:
  warning mktime() expects parameter 4 to be long string

这是我尝试将出生日期存储到 mysql 数据库时遇到的错误。

这是 HTML 代码:

 <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Registration</title>
    <link href='http://fonts.googleapis.com/css?family=Josefin+Sans' rel='stylesheet' type='text/css'>
    <style>
    #container{
    width:350px;
    height:auto;
    float:left;
    font-family: 'Josefin Sans', sans-serif;
    color:#82ABEA;
    }
    label{
    display:block;
    margin-bottom:5px;
    }
    fieldset{
    border-color:#82ABEA;
    }
    button{
    background-color:#900;
    color:#FFF;
    border:none;
    box-shadow:none;
    width:80px;
    height:30px;
    }
    </style>
    </head>

    <body>
    <div id="container">
    <form method="post" action="save_reg.php">
    <fieldset>
    <legend><b>Register Here</b></legend>


    <label>Date Of Birth</label>
    <select name="db">
    <option selected>Month</option>
    <option>January</option>
    <option>February</option>
    <option>March</option>
    <option>April</option>
    <option>May</option>
    <option>June</option>
    <option>July</option>
    <option>August</option>
    <option>September</option>
    <option>October</option>
    <option>November</option>
    <option>December</option>

    </select>
    <select name="dbd">
    <option selected>Day</option>
    <option>01</option>
    <option>02</option>
    <option>03</option>
    <option>04</option>
    <option>05</option>
    <option>06</option>
    <option>07</option>
    <option>08</option>
    <option>09</option>
    <option>10</option>
    <option>11</option>
    <option>12</option>
    </select>

    <select name="dby">
    <option selected>Year</option>
    <option>2005</option>
    <option>2006</option>
    <option>2007</option>
    <option>2008</option>
    <option>2009</option>
    <option>2010</option>
    <option>2011</option>
    <option>2012</option>
    <option>2013</option>
    <option>2014</option>
    <option>2015</option>
    <option>2016</option>
    </select><br/><br/>

    <button><b>Submit</b></button>
    </fieldset>
    </form>
    </div>
    </body>
    </html>

这是我使用的 PHP 代码:

<?php 
$connection = mysqli_connect("localhost" , "root" , "", "register");
if(mysqli_connect_errno()){
    echo"Connection Failed" . mysqli_connect_errno();
}else{
echo "Connection Succesfull";
}

$db= $_POST['db'];
$dbd= $_POST['dbd'];
$dby= $_POST['dby'];

$date = date("Y-m-d", mktime(0,0,0,$db, $dbd, $dby));

$sql = "INSERT INTO register_form(dateb) VALUES('$date')";

if(!mysqli_query($connection, $sql)){
echo"Data is not saved";
}else{
echo $_POST['firstname'] . " " . $_POST['lastname'] . "your data is saved";
}

有人可以指导我将出生日期添加到数据库吗?

【问题讨论】:

  • db 是一个字符串,例如九月,这就是为什么它不会解析它。
  • 你能解释一下吗,因为我刚刚开始编程

标签: php html mysql date


【解决方案1】:

由于您需要输入月份作为数字表示,因此您需要像这样的月份的下拉值:

<option disabled selected>Month</option>
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>

这样当您使用mktime() 时,它将是月份的正确参数。

int mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]])

查看month 参数。它需要格式date('n'),相当于:

月份的数字表示,没有前导零

必填事项:

Please, don't use mysql_* functions in new code。它们不再维护and are officially deprecated。看到red box?改为了解prepared statements,并使用PDOMySQLi - this article 将帮助您决定哪个。如果你选择 PDO,here is a good tutorial

【讨论】:

  • @sandeepSK 我很高兴这有帮助
  • 我想将我获取的数据(在页面上获取)从数据库导出为 pdf 格式或 Excel 格式,您能指导我吗
  • @sandeepSK 太宽泛了,无论如何你可以先选择这些值,然后再使用fpdftcpdf
【解决方案2】:

您的 db 下拉选项应该有数值。

【讨论】:

    猜你喜欢
    • 2016-11-26
    • 2011-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-12
    • 1970-01-01
    相关资源
    最近更新 更多