PHP代码:
$stmt = $db->prepare("CALL `usp_AddRegistrationInfo`(?,?);");
$stmt->bind_param('ss',$userID,$dob);
$stmt->execute();
MYSQL存储过程:
CREATE DEFINER=`root`@`localhost` PROCEDURE `usp_AddRegistrationInfo`(IN `ID` VARCHAR(20), IN `date_of_birth` DATE)
BEGIN
INSERT INTO `tbl_userdetails` (`UserID`, date_of_birth);
END
在上面的语句中,如果我将日期从PHP传递到MySQL,它将无法正常工作。例如,如果我发送1993-01-01
,它将存储为0000-00-00
。请在这个过程中帮助我。
提前谢谢。
嗯。。。我认为如果$dob == '1993-01-01'
,您的代码应该可以工作。。。但是MySQL可能不承认$dob是一个日期。试试这个:
$dob = date('Y-m-d', strtotime($dob));
$stmt = $db->prepare("CALL `usp_AddRegistrationInfo`(?,?);");
$stmt->bind_param('ss',$userID,$dob);
$stmt->execute();