Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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 在此格式的MYSQL中搜索日期03/17/10.11:22:45_Php_Mysql_Datetime - Fatal编程技术网

Php 在此格式的MYSQL中搜索日期03/17/10.11:22:45

Php 在此格式的MYSQL中搜索日期03/17/10.11:22:45,php,mysql,datetime,Php,Mysql,Datetime,我有一个脚本,每小时自动用数据填充mysql数据库。它填充日期字段,如03/17/10.12:34:11等 我正在从搜索脚本中一次提取一天的数据 如果我使用 SELECT * FROM call_logs WHERE call_initiated between '03/17/10.12:00:00' and '03/17/10.13:00:00' 它可以工作,但是当我尝试添加其余的搜索参数时,它会忽略call_initiated字段 SELECT * FROM call_lo

我有一个脚本,每小时自动用数据填充mysql数据库。它填充日期字段,如03/17/10.12:34:11等

我正在从搜索脚本中一次提取一天的数据

如果我使用

SELECT * 
  FROM call_logs 
 WHERE call_initiated between '03/17/10.12:00:00' and '03/17/10.13:00:00'
它可以工作,但是当我尝试添加其余的搜索参数时,它会忽略call_initiated字段

SELECT * 
  FROM call_logs 
 WHERE  caller_dn = '2x9xxx0000' OR called_dn = '2x9xxx0000' 
   AND call_initiated between '03/17/10.12:00:00' and '03/17/10.13:00:00'
^--我算出了几个数字。我也尝试过不使用between函数,并使用>=
  • 尝试在OR语句周围使用括号 ... 其中(呼叫者\u dn='2x9xxx0000'或被叫者\u dn='2x9xxx0000')和呼叫\u在'03/17/10.12:00:00'和'03/17/10.13:00:00'之间发起

  • 使用IN运算符而不是OR ... 其中,呼叫者在'03/17/10.12:00:00'和'03/17/10.13:00:00'之间启动('2x9xxx0000','2y9yyy000')和呼叫

      • 尝试在OR语句周围使用括号 ... 其中(呼叫者\u dn='2x9xxx0000'或被叫者\u dn='2x9xxx0000')和呼叫\u在'03/17/10.12:00:00'和'03/17/10.13:00:00'之间发起

      • 使用IN运算符而不是OR ... 其中,呼叫者在'03/17/10.12:00:00'和'03/17/10.13:00:00'之间启动('2x9xxx0000','2y9yyy000')和呼叫


      OR语句很可能是问题所在,因为OR对左边的语句进行了评估,发现它是正确的,它不关心右边站点上的内容,因为只要其中一个语句是正确的,它就认为整个语句都是正确的

      请阅读OR运算符

      你的陈述应该是

      SELECT * FROM `call_logs` WHERE (caller_dn='2x9xxx0000' OR called_dn='2x9xxx0000') AND call_initiated BETWEEN '03/17/10.12:00:00' and '03/17/10.13:00:00';
      

      OR语句更可能是问题,因为OR对左边的语句进行评估,看到它是真的,它不关心右边的站点上有什么,因为只要其中一个语句是真的,它就认为整个语句都是真的

      请阅读OR运算符

      你的陈述应该是

      SELECT * FROM `call_logs` WHERE (caller_dn='2x9xxx0000' OR called_dn='2x9xxx0000') AND call_initiated BETWEEN '03/17/10.12:00:00' and '03/17/10.13:00:00';
      

      啊,简单的解决方案,呼叫者字段周围的巴拉那人就做到了。。事实上,我正在试验这些。。谢谢“我实际上是在试验这些东西。”理解为什么这样做很重要,就像任何编程问题一样,如果你不理解为什么,它会再次发生。。请参阅下面的解释。啊,简单的解决方案,呼叫者字段周围的巴拉那人就做到了。。事实上,我正在试验这些。。谢谢“我实际上是在试验这些东西。”理解为什么这样做很重要,就像任何编程问题一样,如果你不理解为什么,它会再次发生。。见下面的解释。