为Mysql数据库

时间:2016-10-18 20:25:16

标签: php mysql date datetime

我有一个包含文本字段,多个选项和日期,日期时间,时间字段的php表单,我想在提交表单时将日期,日期时间和时间字段设置为可选。怎么做。?仅插入值,输入日期,日期时间,时间字段。

Php代码

//获取变量

$checkout_date_input = $_POST['checkout_date_input'];
$checkout_time_input = $_POST['checkout_time_input'];


$arrival_date_time = $_POST['arrival_date_time'];
$arrival_flightno = $_POST['arrival_flightno'];
$departure_date_time = $_POST['departure_date_time'];
$departure_flightno = $_POST['departure_flightno'];

//插入SQL查询

$query = mysql_query("insert into reservationform(booking_checkout_date, booking_checkout_time, booking_arrival_date, booking_arrival_flightno, booking_departure_date,booking_departure_flightno) values ('$checkout_date_input',  '$checkout_time_input',
 $arrival_flightno,'$departure_date_time',$departure_flightno)");

1 个答案:

答案 0 :(得分:2)

解决方案#1

最好的方法是检查用户是否输入了某些内容,如果他们已经输入了值,如果他们还没有输入该值,那么。

if(!empty(trim($_POST['checkout_date_input']))){
    $checkout_date_input = $_POST['checkout_date_input'];
} else {
    $checkout_date_input = null;
}

解决方案#2

您可以做的另一件事是指定要插入数据库的列名。

INSERT INTO table (column1, column2) VALUES ('value1','value2')

此查询仅将值插入column1和column2,其他列将为null。 如果设置了多个if语句,用于检查字段是否已填充,则可以确定要将值插入哪些列,哪些列不插入。




这两种解决方案都基于您的数据库列允许空值的假设,这些值将插入到数据库中。

<强>安全

您的代码非常容易受到攻击您的数据库。我建议使用PDO和预处理语句来确保数据库查询的卫生。 More info can be found here.