Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.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
Php 使用子字符串筛选器更新数据的Sql查询_Php_Mysql_Mysqli - Fatal编程技术网

Php 使用子字符串筛选器更新数据的Sql查询

Php 使用子字符串筛选器更新数据的Sql查询,php,mysql,mysqli,Php,Mysql,Mysqli,对UPDATE语句和条件使用SUBSTRING方法的最佳方式是什么 UPDATE `store_results` SET `results_status` = "unpublished" WHERE CONCAT(SUBSTRING_INDEX(`results_trigger_on`,' ',1) AS resultdate FROM `store_results` HAVING resultdate BETWEEN '15/09/2018' AND '20/09/2018') 什么样的查询

对UPDATE语句和条件使用SUBSTRING方法的最佳方式是什么

UPDATE `store_results` SET `results_status` = "unpublished" WHERE CONCAT(SUBSTRING_INDEX(`results_trigger_on`,' ',1) AS resultdate FROM `store_results` HAVING resultdate BETWEEN '15/09/2018' AND '20/09/2018')

什么样的查询才能达到同样的效果。

请停止字符串操作以计算日期和时间。请改用本机的:

$startInKolkata = new \DateTime(
    '2018-09-19 09:00:00',
    new \DateTimeZone('Asia/Kolkata')
);

$endInWarsaw = new \DateTime(
    '2018-09-20 10:15:00', 
    new \DateTimeZone('Europe/Warsaw')
);

$dateDiff = $startInKolkata->diff($endInWarsaw);

printf(
    'Till end: %d day(s), %d hour(s), %d minute(s)',
    $dateDiff->d,
    $dateDiff->h,
    $dateDiff->i
);

diff()
方法的结果是一个类,它保存了您需要的关于差异的所有信息。

我的查询已更新,上面有什么问题。请告诉我,您将数据保存为无效格式,因此MySQL是无效的。重写数据并以适当的格式存储datetime,或者使用MySQL将您的格式转换为一种格式,以便条件可以工作