我已经对这个主题进行了大量研究,但出于某种原因没有任何效果!
我想使用日期选择器小部件来更新 MySQL 中的一行(它有一个日期列)。出于某种原因,每当我尝试更新行(适用于其他输入内容)时,它都会在我的 MySQL 表 0000-00-00 中显示 ??
这是我的 jQuery 代码:
<script>
$( function() {
$( "#datepicker" ).datepicker({
dateFormat:"yy-mm-dd",
altField: "#alternate",
altFormat: "DD, d MM, yy"
});
$( "#selectable" ).selectable();
} );
</script>
还有我的 HTML:
<p> Date: <input name="slot_date" id="datepicker" > <input type="text" id="alternate" size="30"></p>
我的PHP:
if( isset($_POST['btn-book']) ) {
$slot_date = date('yy-mm-dd',strtotime($_POST['slot_date']));
$slot_line=$_POST['slot_line'];
$reason=$_POST['reason'];
$id=$_POST['id'];
$sql="UPDATE appointments SET slot_date='$slot_date', slot_line='$slot_line', reason='$reason' WHERE id='$id'";
$result=mysql_query($sql);
if($result){
header ("Location: homepage_loggedin_book_success.php");
}else {
echo "ERROR";
}
}
无论如何,我已经尝试了很长时间,但日期选择器不会进入我的 MySql 表??
最佳答案
使用strtotime()和 date()强制执行您想要的格式。
$slot_date = date('Y-m-d',strtotime($slot_date)); # will output 2016-08-16
$sql="UPDATE appointments SET slot_date='$slot_date', slot_line='$slot_line', reason='$reason' WHERE id='$id'";
您的代码可能容易受到 SQL 注入(inject)。请引用http://php.net/manual/en/security.database.sql-injection.php .
关于php - 以 HTML 形式更新 MySQL 行的 jQuery 日期选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38964225/