gpt4 book ai didi

php - 我的日期未以日期时间格式正确保存到 MySQL

转载 作者:行者123 更新时间:2023-11-30 00:24:40 25 4
gpt4 key购买 nike

我在将日期保存到 MySQL 时遇到问题。当我添加日期时间字段时,它们会像这样正确保存

2014-04-08 09:24:00

但是当我使用下面的脚本更新数据时,它会覆盖日期时间字段的权限

0000-00-00 00:00:00

然后,如果我使用正确的日期第二次更新它,它就会正确保存。然后,如果我更新页面上的其他内容,它会将其保存为

0000-00-00 00:00:00

再次。任何帮助,将不胜感激。或者也许我应该返回将其保存为字符串而不是日期时间

$signstart$signend 是我要保存的日期字段

 $stmt = $db->prepare("INSERT INTO signings(signstart,signend,custid,contact,samount,prtamount,faxamount,ordern,fname,lname,street1,street2,city,state,zip,hphone,cphone,wphone,fax,email,coname,coworkphone,pid,invoicenumber,loannumber)values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");

$stmt->bindParam(1, $_POST['signstart'], PDO::PARAM_STR, 20);
$stmt->bindParam(2, $_POST['signend'], PDO::PARAM_STR, 20);
$stmt->bindParam(3, $_POST['custid'], PDO::PARAM_STR, 250);
$stmt->bindParam(4, $_POST['contact'], PDO::PARAM_STR, 250);
$stmt->bindParam(5, $_POST['samount'], PDO::PARAM_INT, 11);
$stmt->bindParam(6, $_POST['prtamount'], PDO::PARAM_INT, 11);
$stmt->bindParam(7, $_POST['faxamount'], PDO::PARAM_INT, 11);
$stmt->bindParam(8, $_POST['ordern'], PDO::PARAM_STR, 250);
$stmt->bindParam(9, $_POST['fname'], PDO::PARAM_STR, 250);
$stmt->bindParam(10, $_POST['lname'], PDO::PARAM_STR, 250);
$stmt->bindParam(11, $_POST['street1'], PDO::PARAM_STR, 250);
$stmt->bindParam(12, $_POST['street2'], PDO::PARAM_STR, 250);
$stmt->bindParam(13, $_POST['city'], PDO::PARAM_STR, 250);
$stmt->bindParam(14, $_POST['state'], PDO::PARAM_STR, 250);
$stmt->bindParam(15, $_POST['zip'], PDO::PARAM_STR, 250);
$stmt->bindParam(16, $_POST['hphone'], PDO::PARAM_STR, 250);
$stmt->bindParam(17, $_POST['cphone'], PDO::PARAM_STR, 250);
$stmt->bindParam(18, $_POST['wphone'], PDO::PARAM_STR, 250);
$stmt->bindParam(19, $_POST['fax'], PDO::PARAM_STR, 250);
$stmt->bindParam(20, $_POST['email'], PDO::PARAM_STR, 250);
$stmt->bindParam(21, $_POST['coname'], PDO::PARAM_STR, 250);
$stmt->bindParam(22, $_POST['coworkphone'], PDO::PARAM_STR, 250);
$stmt->bindParam(23, $_POST['pid'], PDO::PARAM_INT, 11);
$stmt->bindParam(24, $invoicenumber, PDO::PARAM_INT, 11);
$stmt->bindParam(25, $_POST['loannumber'], PDO::PARAM_STR, 250);
$stmt->execute();

$sql = "UPDATE signings SET
pid = ?,
signstart = ?,
signend = ?,
custid = ?,
contact = ?,
faxamount = ?,
samount = ?,
prtamount = ?,
faxamount = ?,
ordern = ?,
loannumber = ?,
fname = ?,
lname = ?,
street1 = ?,
street2 = ?,
city = ?,
state = ?,
zip = ?,
hphone = ?,
cphone = ?,
wphone = ?,
fax = ?,
email = ?,
coname = ?,
cocellphone = ?,
coworkphone = ?
WHERE id = ?";
$stmt = $db->prepare($sql);
$stmt->bindValue('1', $_POST['pid'], PDO::PARAM_INT);
$stmt->bindValue('2', $_POST['signstart'], PDO::PARAM_STR);
$stmt->bindValue('3', $_POST['signend'], PDO::PARAM_STR);
$stmt->bindValue('4', $_POST['custid'], PDO::PARAM_STR);
$stmt->bindValue('5', $_POST['contact'], PDO::PARAM_STR);
$stmt->bindValue('6', $_POST['faxamount'], PDO::PARAM_INT);
$stmt->bindValue('7', $_POST['samount'], PDO::PARAM_INT);
$stmt->bindValue('8', $_POST['prtamount'], PDO::PARAM_INT);
$stmt->bindValue('9', $_POST['faxamount'], PDO::PARAM_INT);
$stmt->bindValue('10', $_POST['ordern'], PDO::PARAM_STR);
$stmt->bindValue('11', $_POST['loannumber'], PDO::PARAM_STR);
$stmt->bindValue('12', $_POST['fname'], PDO::PARAM_STR);
$stmt->bindValue('13', $_POST['lname'], PDO::PARAM_STR);
$stmt->bindValue('14', $_POST['street1'], PDO::PARAM_STR);
$stmt->bindValue('15', $_POST['street2'], PDO::PARAM_STR);
$stmt->bindValue('16', $_POST['city'], PDO::PARAM_STR);
$stmt->bindValue('17', $_POST['state'], PDO::PARAM_STR);
$stmt->bindValue('18', $_POST['zip'], PDO::PARAM_STR);
$stmt->bindValue('19', $_POST['hphone'], PDO::PARAM_STR);
$stmt->bindValue('20', $_POST['cphone'], PDO::PARAM_STR);
$stmt->bindValue('21', $_POST['wphone'], PDO::PARAM_STR);
$stmt->bindValue('22', $_POST['fax'], PDO::PARAM_STR);
$stmt->bindValue('23', $_POST['email'], PDO::PARAM_STR);
$stmt->bindValue('24', $_POST['coname'], PDO::PARAM_STR);
$stmt->bindValue('25', $_POST['coworkphone'], PDO::PARAM_STR);
$stmt->bindValue('26', $_POST['cocellphone'], PDO::PARAM_STR);
$stmt->bindValue('27', $_POST['id'], PDO::PARAM_INT);
$stmt->execute();

最佳答案

您是说代码中的 INSERT 语句有效,但 UPDATE 语句不起作用?

一个建议是不要更新任何不需要的字段,但如果您确实需要更新这些字段,那么通过 POST 语句中的 $_POST['signstart'] 传入的格式是什么?您可以打印出来并确保它是有效的插入格式吗?

关于php - 我的日期未以日期时间格式正确保存到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22976967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com