echo $date1u
给我2010-04-21
当我使用该日期并将其硬编码到SQL查询中时,它可以正常工作
SELECT * FROM phoneappdetail WHERE salebarn = 'OSI' AND saledate = '2010-04-21'
但是当我直接使用$ date1u时,它根本不起作用。
"SELECT * FROM phoneappdetail WHERE salebarn = 'OSI' AND saledate = '".$date1u."' "
我的变量$ date1u或SQL格式有什么问题阻止它工作?
修改的
遵循建议并尝试
$result1 = "SELECT * FROM phoneappdetail WHERE salebarn = 'OSI' AND saledate = '".$date1u."' ";
echo $result1;
要查看结果以及在这种情况下如何输出
SELECT * FROM phoneappdetail WHERE salebarn = 'OSI' AND saledate = '2010-04-22'
当我在2010-04-21单独回复$ date1u时,但是当我在SQL查询中回显var时,有一天如何添加
答案 0 :(得分:2)
您是否在变量的任何一侧有任何空格 - 即空格或制表符?如果是这样,这可能是导致问题的原因。
尝试echo ">>" . $date1u . "<<";
如果你得到“&gt;&gt; 2010-04-21&lt;&lt;”你会知道你有一个领先的空间。获得可变长度也可以帮助查明问题。
答案 1 :(得分:1)
我想知道$date1u
返回的值是否返回由引号括起来的值。如果是这样,您需要在将其插入SQL查询之前删除引号。
答案 2 :(得分:0)
这样:
SELECT * FROM phoneappdetail WHERE salebarn = 'OSI' AND saledate = '2010-04-21'
应该是这样的:
SELECT * FROM phoneappdetail WHERE salebarn = 'OSI' AND saledate = 2010-04-21
您需要在约会时取出''
。这是针对sql查询错误的。
答案 3 :(得分:0)
我在我的服务器上尝试了这个并且它有效。
"SELECT * FROM phoneappdetail WHERE salebarn='OSI' AND saledate='$date1u'"
它可能不是完美的编程,但它有效。
答案 4 :(得分:0)
试试这个
"SELECT * FROM phoneappdetail WHERE salebarn = 'OSI' AND saledate = '" . trim($date1u) . "'"