Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.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 缺少结果的mysqli查询_Php_Mysql_Date_Select_Mysqli - Fatal编程技术网

Php 缺少结果的mysqli查询

Php 缺少结果的mysqli查询,php,mysql,date,select,mysqli,Php,Mysql,Date,Select,Mysqli,我创建了一个简单的php脚本,它每天晚上都在运行,用于同步两个数据库。几天来,一切似乎都很顺利,但今天至少少了一张唱片(我说“至少”,因为这是今天需要的唯一一张唱片,也是昨晚丢失的) 脚本的工作流程如下所示: 从第一个数据库中查找所有记录 检查需要哪些记录 将记录保存在第二个数据库上 我发现问题在于第一个数据库的表上的第一个列表查询。我必须提取45天前到今天的记录,代码如下: $first_date = date('Y-m-d', strtotime('-45 days')); $firs

我创建了一个简单的php脚本,它每天晚上都在运行,用于同步两个数据库。几天来,一切似乎都很顺利,但今天至少少了一张唱片(我说“至少”,因为这是今天需要的唯一一张唱片,也是昨晚丢失的)

脚本的工作流程如下所示:

  • 从第一个数据库中查找所有记录
  • 检查需要哪些记录
  • 将记录保存在第二个数据库上
我发现问题在于第一个数据库的表上的第一个列表查询。我必须提取45天前到今天的记录,代码如下:

$first_date = date('Y-m-d', strtotime('-45 days'));

$first_query = ("SELECT EVERYTHING_I_NEED
    FROM mytable table1
    WHERE table1.FileName IS NOT NULL
    AND table1.creation_date > DATE_FORMAT('" . $first_date . "','%Y%m%d')");

$list = mysqli_query($_CONFIG['conn'], $first_query);
现在。。。我每晚提取大约12k条记录,这是另一个有利于“至少”一条记录丢失的数据

棘手的部分:

我假设错误出现在查询的日期检查部分:

table1.creation_date > DATE_FORMAT('" . $first_date . "','%Y%m%d')")
因为,不幸的是,创建第一个数据库表的人将“创建日期”设置为
CHAR(8)
。。。我试着用更多的日志再次运行脚本,问题是还有很多其他记录,比如丢失的记录,并且大部分都与此记录具有相同的数据(因此在同一天创建,但文件名不同)。 请告诉我是否需要更精确一些


我是错过了什么还是做错了什么

我不明白你为什么要以
Y-m-d
格式创建
$first\u date
,然后用SQL将其重新格式化为
Ymd
。我的错。。。复制/粘贴错误。。。我将在45天的开始或结束时编辑丢失的记录?可能与数据有关。检查丢失记录的创建日期和文件名,并将其与查询进行比较。另外,在mysql中直接运行上面的查询,同时添加一个特定的记录ID,以查看是否获得了记录对不起,创建日期是什么格式?为其分配适当的数据类型有什么问题?