我认为这个问题已被多次发布,但我找到的解决方案都没有为我工作。但是,我非常确定这是基本的东西。
对于我的网站,我需要根据他们的日期'来搜索数据。专栏。
所以我提出了这样的问题:'SELECT * FROM table WHERE date " BETWEEN " .$dated. " and" .$datef;
查询似乎没问题,但是当我尝试它时,我收到一条错误消息:
运算符不存在:date> = integer ...提示:无运算符 匹配给定的名称和参数类型。您可能需要添加 显式类型转换。
我不明白为什么它会尝试检查日期> =整数。
我使用echo (gettype($dated))
进行了验证,但我的变量是字符串而不是整数。
所以我尝试使用str_to_time然后使用date()将它们转换为php日期,但没有任何改变。我的变量仍然是字符串类型,并且在执行查询时仍被视为整数。
我在此thread
中找到并尝试了该代码但它说功能strtotime不存在或者它可能没有匹配。当然strtotime(整数)不能工作......
因此,如果您知道为什么我的变量被视为整数。
用户在日期输入中键入它,并使用$dated=$_POST['dated']
获取值,我的变量内容正常,我使用' 2014-06-20&#39进行了测试;,' 2014年6月22日'和' 06/20 / 2014',' 06/22 / 2014'但它没有改变任何东西。
如果您有任何想法?我觉得这是非常愚蠢的事情,但我无法找到错误的地方......
谢谢!