在PHP语句中插入日期

在PHP语句中插入日期,php,mysql,Php,Mysql,我试图在一条准备好的语句中将当前日期(d-m-Y)插入mysql表。我无法正确地理解代码。 我用php调用当前日期 $dat = date("d-m-Y"); 然后包括在这样一份准备好的声明中 $stmt = $mysqli->prepare("INSERT INTO mytable (name, date) VALUES (?, ?)"); $stmt->bind_param('ss', $name, $dat); $reslt = $stmt->execute(); 在

我试图在一条准备好的语句中将当前日期(d-m-Y)插入mysql表。我无法正确地理解代码。 我用php调用当前日期

$dat = date("d-m-Y");
然后包括在这样一份准备好的声明中

$stmt = $mysqli->prepare("INSERT INTO mytable (name, date) VALUES (?, ?)");
$stmt->bind_param('ss', $name, $dat);
$reslt = $stmt->execute();

在表中,不会插入日期。它仍然是0000-00-00。如何更正此问题?

您应该使用YYYY-MM-DD格式:

$dat = date("Y-m-d");

试试这样的东西

$stmt = $mysqli->prepare('insert into foo (dt) values (?)');
$dt = '2009-04-30 10:09:00';
$stmt->bind_param('s', $dt);
$stmt->execute();
从另一个角度来看,这个

global $dbh;
$query = "INSERT INTO loan (title, description, start_date, end_date) VALUES (?,?,?,?)"

$statement = $dbh->prepare($query);
$statement->bind_param("ssss", $title,$description,$startDate,$endDate);

$statement->execute();
print $statement->error; //to check errors
$statement->close();

默认情况下,mysql始终支持
YYYY-MM-DD
格式。因此,您需要将日期格式转换为
$dat=date('Y-m-d')
$dat=日期(“Y-m-d”)您在mysql中使用了哪种数据类型?完美的答案…谢谢@Wayne Whitty,我这边的upvote