SQL 插入查询不适用于 JQuery UI 日期选择器
SQL insert query not working with JQuery UI datepicker
html输入:
<input name="week_ending" type="text" id="week_ending" value="" />
jQuery:
<script>
$(function() {
$( "#week_ending" ).datepicker();
});
</script>
PHP代码:
$week_ending = db_quote($_POST['week_ending']);
function db_quote($value) {
$connection = db_connect();
return "'" . mysqli_real_escape_string($connection,$value) . "'";
}
SQL:
$result = db_query("INSERT INTO `timesheets` (clientid, candid, weekending, department, orderno, basicpay, basiccharge, otpay, otcharge, ot2pay, ot2charge, status, hue, huc) VALUES ($client, $cand, $week_ending, $department, $order_no, $basic_pay, $basic_charge, $ot_pay, $ot_charge, $ot2_pay, $ot2_charge, $status, $hue, $huc)");
if($result){
print 'Success! ID of last inserted record is';
}
else {
die('Error : ' . db_error());
}
我插入到 timesheets
的每一行都有 0000-00-00
的日期。在timesheets
table.
中数据类型设置为date
在选择日期后检查元素时,HTML 是:
<input class="hasDatepicker" name="week_ending" id="week_ending" value="" type="text">
我猜这解释了 0000-00-00
进入数据库的原因。我尝试添加 .formatDate
但这似乎没有什么不同并尝试更改为 <input type="date">
但仍然没有任何内容出现在 value
属性
您可以使用 PHP 函数:date()
和 strtotime
将格式解析为时间戳,然后再解析为正确的日期格式。
请注意,用户可以使用错误的数据更改输入字段。
$week_ending = db_quote(date('Y-m-d',strtotime($_POST['week_ending'])));
html输入:
<input name="week_ending" type="text" id="week_ending" value="" />
jQuery:
<script>
$(function() {
$( "#week_ending" ).datepicker();
});
</script>
PHP代码:
$week_ending = db_quote($_POST['week_ending']);
function db_quote($value) {
$connection = db_connect();
return "'" . mysqli_real_escape_string($connection,$value) . "'";
}
SQL:
$result = db_query("INSERT INTO `timesheets` (clientid, candid, weekending, department, orderno, basicpay, basiccharge, otpay, otcharge, ot2pay, ot2charge, status, hue, huc) VALUES ($client, $cand, $week_ending, $department, $order_no, $basic_pay, $basic_charge, $ot_pay, $ot_charge, $ot2_pay, $ot2_charge, $status, $hue, $huc)");
if($result){
print 'Success! ID of last inserted record is';
}
else {
die('Error : ' . db_error());
}
我插入到 timesheets
的每一行都有 0000-00-00
的日期。在timesheets
table.
date
在选择日期后检查元素时,HTML 是:
<input class="hasDatepicker" name="week_ending" id="week_ending" value="" type="text">
我猜这解释了 0000-00-00
进入数据库的原因。我尝试添加 .formatDate
但这似乎没有什么不同并尝试更改为 <input type="date">
但仍然没有任何内容出现在 value
属性
您可以使用 PHP 函数:date()
和 strtotime
将格式解析为时间戳,然后再解析为正确的日期格式。
请注意,用户可以使用错误的数据更改输入字段。
$week_ending = db_quote(date('Y-m-d',strtotime($_POST['week_ending'])));