PHP日期没有插入mysql

时间:2015-02-04 12:43:29

标签: php mysql date dreamweaver

嗨,我不知道是什么问题。日期字段没有插入mysql。格式应该在mysql中的YYYY-MM-DD中。也许那就是问题?输入类型中的日期是mm-dd-yyyy。

查询:

if(isset($_POST['subButton']))
  {
     mysql_query("INSERT INTO order_queue (Date, Tracking, Name, Address,
     ContactNo, dateneed, Payment, Claiming, qtyBlackWhite,
     totalBlackWhite, qtyChocnut, totalChocnut, qtyHotMama, totalHotMama,
     qtyMocha, totalMocha, qtyUbeKeso, totalUbeKeso, GrandTotal) 
     VALUES (NOW(), '".$_POST['Tracking']."', '".$_POST['Name']."',
     '".$_POST['Address']."', '".$_POST['ContactNo']."', 
     '".$_POST['dateneed']."', '".$_POST['Payment']."', 
     '".$_POST['Claiming']."', '".$_POST['qtyBlackWhite']."', 
     '".$_POST['totalBlackWhite']."', '".$_POST['qtyChocnut']."', 
     '".$_POST['totalChocnut']."', '".$_POST['qtyHotMama']."', 
     '".$_POST['totalHotMama']."', '".$_POST['qtyMocha']."', 
     '".$_POST['totalMocha']."', '".$_POST['qtyUbeKeso']."', 
     '".$_POST['totalUbeKeso']."', '".$_POST['GrandTotal']."')");   

  }

HTML

<input type="date" name="dateneed" id="dateneed" />

日期输入类型为mm / dd / yyyy。

在mysql中,dateneed字段是DATE数据类型和NN。怎么了?在查询中,日期是提交表单时自动插入日期。问题是dateneed有点阻止表单插入所有内容。 T__T

3 个答案:

答案 0 :(得分:1)

它有更多问题。

正如其他人所说,首先,不要使用PHP mysql扩展,使用mysqli或PDO。

其次,始终检查每个用户输入数据,并根据您的查询对其进行格式化。

在SQL中使用参数或转义您插入的值。

但是要回答你的问题,请使用:

$d = explode('/',$_POST['dateneed']);
$date = $d[2].'-'.$d[0].'-'.$d[1];

但你应该检查日期是否有效。

答案 1 :(得分:0)

您只需传递fieldname是dateneed而不是Date

if(isset($_POST['subButton']))
{
    mysql_query("INSERT INTO order_queue (dateneed, Tracking, Name, Address,
 ContactNo, dateneed, Payment, Claiming, qtyBlackWhite,
 totalBlackWhite, qtyChocnut, totalChocnut, qtyHotMama, totalHotMama,
 qtyMocha, totalMocha, qtyUbeKeso, totalUbeKeso, GrandTotal) 
 VALUES (NOW(), '".$_POST['Tracking']."', '".$_POST['Name']."',
 '".$_POST['Address']."', '".$_POST['ContactNo']."', 
 '".$_POST['dateneed']."', '".$_POST['Payment']."', 
 '".$_POST['Claiming']."', '".$_POST['qtyBlackWhite']."', 
 '".$_POST['totalBlackWhite']."', '".$_POST['qtyChocnut']."', 
 '".$_POST['totalChocnut']."', '".$_POST['qtyHotMama']."', 
 '".$_POST['totalHotMama']."', '".$_POST['qtyMocha']."', 
 '".$_POST['totalMocha']."', '".$_POST['qtyUbeKeso']."', 
 '".$_POST['totalUbeKeso']."', '".$_POST['GrandTotal']."')");   

}

答案 2 :(得分:0)

你可以将dateneed值操作为require格式,然后我们就可以将它存储到数据库中。

 if(isset($_POST['subButton']))
 {
    $dateneedExplode = explode('-',$_POST['dateneed']);
    $dateneedValue = $dateneedExplode[2].'-'.$dateneedExplode[0].'-  '.$dateneedExplode[1];

 mysql_query("INSERT INTO order_queue (Date, Tracking, Name, Address,
 ContactNo, dateneed, Payment, Claiming, qtyBlackWhite,
 totalBlackWhite, qtyChocnut, totalChocnut, qtyHotMama, totalHotMama,
 qtyMocha, totalMocha, qtyUbeKeso, totalUbeKeso, GrandTotal) 
 VALUES (NOW(), '".$_POST['Tracking']."', '".$_POST['Name']."',
 '".$_POST['Address']."', '".$_POST['ContactNo']."', 
 '".$dateneedValue."', '".$_POST['Payment']."', 
 '".$_POST['Claiming']."', '".$_POST['qtyBlackWhite']."', 
 '".$_POST['totalBlackWhite']."', '".$_POST['qtyChocnut']."', 
 '".$_POST['totalChocnut']."', '".$_POST['qtyHotMama']."', 
 '".$_POST['totalHotMama']."', '".$_POST['qtyMocha']."', 
 '".$_POST['totalMocha']."', '".$_POST['qtyUbeKeso']."', 
 '".$_POST['totalUbeKeso']."', '".$_POST['GrandTotal']."')");   

}