warning mktime() expects parameter 4 to be long string
Since you need to input months as their numerical representation, you need the dropdown values of months like this:
<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>
So that when you use mktime()
, it will be the correct parameter to the months.
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 ]]]]]]] )
Look at the month
parameter. It needs the format date('n')
which equivalents to:
Numeric representation of a month, without leading zeros
Obligatory note:
Please, don't use
mysql_*
functions in new code. They are no longer maintained and are officially deprecated. See the red box? Learn about prepared statements instead, and use PDO or MySQLi - this article will help you decide which. If you choose PDO, here is a good tutorial.
sandeep S K
Updated on June 04, 2022Comments
-
sandeep S K almost 2 years
warning mktime() expects parameter 4 to be long string
This is the error I am getting when I try to store Date of birth into a mysql database.
Here is the HTML code:
<!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>
And here is The Php code I have used:
<?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"; }
Can someone please guide me to add date of birth to the database?