Re: Re: Insert Data Into Mysql

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



He wanted the default value to be 01-01-1901 though right?

I would do something like (assuming you are using a POST request and a form
field name 'indate'):

$inputDate = (($_POST['indate'])?convert_validate_date_function(
$_POST['indate']):"1901-01-01");

where convert_validate_date_function checks that the input is valid, if so
converts to a mysql friendly format and returns it, if not then handles it
however you want (IE return the default value, throw an exception, etc....).

Then plug that function into your prepared statement handle object and
execute the query. IE (Assuming you are using PDO and constructed your
connection object already):
try{
$sql = "INSERT INTO table_name (date_var) VALUES (?)";
$sth = $dbh->prepare($sql);
$sth->execute(array($inputDate));
}catch (PDOException $e){
logger->error("Exception caught: {$e->getMessage()}\n");

// other handling code such as die or redirect to error page....

}


On Fri, Jan 10, 2014 at 7:43 PM, Richard L. Buskirk <
admin@xxxxxxxxxxxxxxxxxxx> wrote:

> > On Fri, 10 Jan 2014 17:36:27 -0500, Jim Giner wrote:
> > > On 1/10/2014 4:53 PM, Robert wrote:
> > >>
> > >> I have a date field on an html form that users may leave blank.  If
> > >> they do leave it blank I want to write the date 01/01/1901 into the
> > >> mysql table. How can I accomplish this and where in my .php script
> > >> file should I put the code?
> > >>
> > >> Thank You,
> > >> Robert
> > >> flahurr@xxxxxxxxxxx
> > > Why would you want to put any value in there?  Leave it blank. Are
> > you
> > > editing the input to prevent someone from actually entering that
> > date?
> > >
> > > Where to put this in your php script?  That's up to you certainly,
> > but
> > > I would make sure it was done before I posted my record.
> >
> > It looks like a new semester has started....
> >
>
>
> MySQL
> You can set the value to NOW() or CURRENT_TIMESTAMP(), mysql functions and
> format the date the way you want.
>
> if(!empty$_POST['formdatefield'])) {  // POST is just an example
> $sql = "INSERT INTO yourtable SET datefield=DATE_FORMAT(NOW(),'%m\%d\%Y')
> ";
> }
>
>
>
> PHP
> Validate the date has been set. If not set then set the value to system
> current system date.
>
> if(!empty($_POST['formdatefield'])) { // POST is just an example
> $formdatefield = date("m/d/Y");
> $sql = 'INSERT INTO yourtable SET datefield='.$formdatefield;
> }
>
> There are many way to validate POST or GET variables and declare a new
> value.
>
> Richard L. Buskirk
> Oracle Certified MySQL 5.6 DBA (OCP)
>
>
>
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux