PHP变量在SQL查询中不起作用?
给我2010-04-21 当我将该日期硬编码到SQL查询中时,它工作得很好PHP变量在SQL查询中不起作用?,php,mysql,sql,database,Php,Mysql,Sql,Database,给我2010-04-21 当我将该日期硬编码到SQL查询中时,它工作得很好 echo $date1u 但当我直接使用$date1u时,它根本不起作用 SELECT * FROM phoneappdetail WHERE salebarn = 'OSI' AND saledate = '2010-04-21' 我的变量$date1u或SQL格式有什么问题使其无法工作 编辑 听从建议并尝试 "SELECT * FROM phoneappdetail WHERE salebarn = 'OSI'
echo $date1u
但当我直接使用$date1u时,它根本不起作用
SELECT * FROM phoneappdetail WHERE salebarn = 'OSI' AND saledate = '2010-04-21'
我的变量$date1u或SQL格式有什么问题使其无法工作
编辑
听从建议并尝试
"SELECT * FROM phoneappdetail WHERE salebarn = 'OSI' AND saledate = '".$date1u."' "
看看结果,看看在这种情况下是如何输出的
$result1 = "SELECT * FROM phoneappdetail WHERE salebarn = 'OSI' AND saledate = '".$date1u."' ";
echo $result1;
当我单独回显$date1u时,它的2010-04-21,但是当我回显SQL查询中的var时,1天被添加了,我想知道,
$date1u
返回的值是否返回一个带引号的值。如果是这样,您需要在将引号插入SQL查询之前删除引号。我猜是这样的
这:
应该是这样的:
SELECT * FROM phoneappdetail WHERE salebarn = 'OSI' AND saledate = '2010-04-21'
您需要在日期取出
'
。这是因为sql查询错误。变量两边是否有空格,即空格或制表符?如果是这样的话,这可能就是导致问题的原因
尝试
echo“>>”$日期1U。“>2010-04-21我在我的服务器上尝试了这个,它成功了
SELECT * FROM phoneappdetail WHERE salebarn = 'OSI' AND saledate = 2010-04-21
这可能不是完美的编程,但它确实有效。试试这个
SELECT * FROM phoneappdetail WHERE salebarn = 'OSI' AND saledate = 2010-04-21
"SELECT * FROM phoneappdetail WHERE salebarn='OSI' AND saledate='$date1u'"
您是否已将上述查询分配给一个变量并回显结果?如何不起作用?您会遇到什么错误?是否有可能您有一些不可见的字符?与示例1中的情况不同,我得到了结果,但在示例2中我没有得到结果。请不要使用mysql.*
函数来编写新代码。它们不再可维护d和社区已开始。请参阅?相反,您应该了解并使用or。如果您无法决定使用哪一个,则会对您有所帮助。如果您选择PDO,。否,我们的意思是将示例中的最后一个查询分配给一个变量,并将其打印出来,以查看它是否与硬编码查询匹配。请更新答案,因为“”不在回显的内容中.SELECT*FROM phoneappdetail,其中salebarn='OSI'和saledate='2010-04-21'工作正常。使用$date1u的版本不起作用。您是否从php/mysql返回了任何错误代码?实际上,这解决了我的问题,因为var休息了1天
"SELECT * FROM phoneappdetail WHERE salebarn = 'OSI' AND saledate = '" . trim($date1u) . "'"