Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅更新MySQL/PHP中字符串的月份和日期_Php_Mysql - Fatal编程技术网

仅更新MySQL/PHP中字符串的月份和日期

仅更新MySQL/PHP中字符串的月份和日期,php,mysql,Php,Mysql,我试图只更新字符串的月份和日期。举个例子:在我的数据库中有一个DATETIME列。假设它的值为2018-01-08 00:00:00。用户提供了另一个他想更新的日期。例如2017-11-07 00:00:00。我查了一下代码,上面写着日期是否不同。所以我们跳过这个。我只想更新该字符串的月份和日期。所以我不想更新时间和年份。我的DATETIME列的名称是updateum我到处都在搜索,但没有具体的答案。以下是我所拥有的: $query = "UPDATE twh_uren_prognose SET

我试图只更新字符串的月份和日期。举个例子:在我的数据库中有一个
DATETIME
列。假设它的值为
2018-01-08 00:00:00
。用户提供了另一个他想更新的日期。例如2017-11-07 00:00:00。我查了一下代码,上面写着日期是否不同。所以我们跳过这个。我只想更新该字符串的月份和日期。所以我不想更新时间和年份。我的
DATETIME
列的名称是
updateum
我到处都在搜索,但没有具体的答案。以下是我所拥有的:

$query = "UPDATE twh_uren_prognose SET upUren = 
".$key['inputupuren'].", MONTH(upDatum) = ".$month.", DAY(upDatum) = 
".$day." WHERE upID = ".$key['inputupid'];
我的问题是:我怎样才能只更新MySQL列的月份和日期。我有点困了。我所说的问题是这样的:


我希望这是有点清楚!谢谢

您可以尝试使用在php中输入的日期和月份以及在mysql中allready的年份来创建新日期

$extraWhereTwee = ', MONTH(upDatum) = '.$month.', DAY(upDatum) = 
'.$day.'';
$query = "UPDATE twh_uren_prognose SET upUren = 
".$key['inputupuren'].", upDatum = STR_TO_DATE('".$day.",".$month.", YEAR(upDatum)','%d,%m,%Y') WHERE upID = ".$key['inputupid'];  

使用所能提供的,你应该能够从你想要的任何部分组成你的新日期值。@CBroe我是在要求一个关于准备语句的教程吗?不,我在寻求帮助解决我的问题。所以我不知道为什么我会被否决?你(还)问是否有人“知道”你的SQL注入漏洞。“我只是需要一些更新查询方面的帮助”-然后告诉我们您具体需要哪些帮助,并向我们展示您的尝试。\o我投了反对票,所以不要将此归咎于CBroe。通常我也会评论,但由于他已经在评论与我类似的事情,我没有评论。原因:我认为你的问题写得不好,没有很好地解释发生了什么(“更新正在运行,所以我只需要更新方面的帮助”),以及你会遇到什么错误(如果有)。此外,你甚至在评论和建议出现之前就开始拒绝它们。如果你想成为一名更好的程序员,请问一个更好的问题。如果你只是想有人对你大喊大叫直到你的问题得到解决,那就雇佣一个人。更新我的问题!谢谢你的回答,我想试试这个。我知道你的发展方向,但我不知道今年(更新)的部分。另外,当我运行这段代码时,它确实会更新数据库,它不会给出任何错误,但它会将每一行更新为30 00-1…年份(updateum),得到updateum列中的实际年份,因此只更改日期和月份。你能上传你的查询的“打印件”吗?它仍然和问题中所问的一样