如何在将日期插入数据库时​​替换错误的日期?

时间:2014-10-18 08:57:18

标签: jquery mysql date datepicker

我使用jquery datepicker,当用户为日期插入一个空值时,它给我一个默认日期1970-01-01。我试图改变dafault jquery datepicker配置给我默认值as 0000-00-00,但我没有找到方法。所以我试着使用一些选项,将datepicker给出的值替换为我的默认值。但它失败了。这是我的代码。

<?php
    require_once('auth.php');
?>

<html>
<head>
<title>EXA_mySQL</title>
<script type="text/javascript">
function CloseWindow() {
    window.close(); 
    window.opener.location.reload();
}
</script>
</head>
<body>

<?php
error_reporting(E_ALL);
ini_set('display_errors','on');

$con=mysqli_connect("localhost","user","pass","db");
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$id_mesin=$_POST['id_mesin'];
$jenama=$_POST['jenama'];
$model=$_POST['model'];
$meter_awal=$_POST['meter_awal'];
$siri_mesin=$_POST['siri_mesin'];
$siri_feeder=$_POST['siri_feeder'];
$siri_finisher=$_POST['siri_finisher'];
$stok_in=$_POST['stok_in'];
$in_do=$_POST['in_do'];
$lokasi=$_POST['lokasi'];
$js_order=$_POST['js_order'];
$stok_out=$_POST['stok_out'];
$out_do=$_POST['out_do'];
$pelangan=$_POST['pelangan'];
$pelangan_alamat=$_POST['pelangan_alamat'];
$pelangan_person=$_POST['pelangan_person'];
$pelangan_no=$_POST['pelangan_no'];
$tech=$_POST['tech'];
$tech_no=$_POST['tech_no'];
$status=$_POST['status'];

$sql="INSERT INTO asset(id_mesin, jenama, model, meter_awal, siri_mesin, siri_feeder, siri_finisher, stok_in, in_do, lokasi, js_order, stok_out, out_do, pelangan, pelangan_alamat, pelangan_person, pelangan_no, tech, tech_no, status) VALUES('$id_mesin', '$jenama', '$model', '$meter_awal', '$siri_mesin', '$siri_feeder', '$siri_finisher', STR_TO_DATE('$stok_in', '%m/%d/%Y'), '$in_do', '$lokasi', '$js_order', STR_TO_DATE('$stok_out', '%m/%d/%Y'), '$out_do', '$pelangan', '$pelangan_alamat', '$pelangan_person', '$pelangan_no', '$tech', '$tech_no', '$status')";

$date=date_create();
if($stok_in == 1970-01-01){ "date_date_set($date,0000,00,00)";}
if($stok_out == 1970-01-01){ "date_date_set($date,0000,00,00)";}

$sql2="update asset set(stok_in, stok_out)values('$date_default','$date_default')";

$result=mysqli_query($con, $sql, $sql2);
if($result){

echo "Successful";
echo "<BR>";
echo "<th><form>";
echo "<input type='button' onClick='CloseWindow()' value='Back to Exa_mySQL' align='middle'>";
echo "</form></th>";
}  
else {
echo "Data error, please check your submit.";
echo "<BR>";
echo "To view back, press 'Backspace' key. To start new blank form, click on the link below.";
echo "<BR>";
echo "<a href='insert.php'>Back to insert form</a>";
}

mysqli_close($con);
?>
</body>
</html>

这是我收到的错误。

Warning: mysqli_query() expects parameter 3 to be long, string given in C:\xampp\htdocs\xxx\insert_ac.php on line 60

有什么办法吗?我正在寻求你的帮助。感谢。

1 个答案:

答案 0 :(得分:0)

你不能用mysqli_query(http://tr1.php.net/mysqli_query)执行两个sql命令,第三个参数是结果模式,你可以检查mysqli_multi_query(http://tr1.php.net/manual/tr/mysqli.multi-query.php

编辑:

<?php
require_once('auth.php');
?>

<html>
<head>
<title>EXA_mySQL</title>
<script type="text/javascript">
function CloseWindow() {
    window.close(); 
    window.opener.location.reload();
}
</script>
</head>
<body>

<?php
error_reporting(E_ALL);
ini_set('display_errors','on');

$con=mysqli_connect("localhost","user","pass","db");
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$id_mesin=$_POST['id_mesin'];
$jenama=$_POST['jenama'];
$model=$_POST['model'];
$meter_awal=$_POST['meter_awal'];
$siri_mesin=$_POST['siri_mesin'];
$siri_feeder=$_POST['siri_feeder'];
$siri_finisher=$_POST['siri_finisher'];
$stok_in=($_POST['stok_in'] == '1970-01-01') ? "" : $_POST['stok_in'];
$in_do=$_POST['in_do'];
$lokasi=$_POST['lokasi'];
$js_order=$_POST['js_order'];
$stok_out=($_POST['stok_out'] == '1970-01-01') ? "" : $_POST['stok_out'];
$out_do=$_POST['out_do'];
$pelangan=$_POST['pelangan'];
$pelangan_alamat=$_POST['pelangan_alamat'];
$pelangan_person=$_POST['pelangan_person'];
$pelangan_no=$_POST['pelangan_no'];
$tech=$_POST['tech'];
$tech_no=$_POST['tech_no'];
$status=$_POST['status'];

$sql="INSERT INTO asset(id_mesin, jenama, model, meter_awal, siri_mesin, siri_feeder, siri_finisher, stok_in, in_do, lokasi, js_order, stok_out, out_do, pelangan, pelangan_alamat, pelangan_person, pelangan_no, tech, tech_no, status) VALUES('$id_mesin', '$jenama', '$model', '$meter_awal', '$siri_mesin', '$siri_feeder', '$siri_finisher','$stok_in', '$in_do', '$lokasi', '$js_order','$stok_out', '$out_do', '$pelangan', '$pelangan_alamat', '$pelangan_person', '$pelangan_no', '$tech', '$tech_no', '$status')";


$result=mysqli_query($con, $sql);
if($result){

echo "Successful";
echo "<BR>";
echo "<th><form>";
echo "<input type='button' onClick='CloseWindow()' value='Back to Exa_mySQL' align='middle'>";
echo "</form></th>";
}  
else {
echo "Data error, please check your submit.";
echo "<BR>";
echo "To view back, press 'Backspace' key. To start new blank form, click on the link below.";
echo "<BR>";
echo "<a href='insert.php'>Back to insert form</a>";
}

mysqli_close($con);
?>
</body>
</html>