谁能告诉我什么是错误的与查询MySQL查询concatination错误
$sql = "SELECT * FROM user_monsoon_offer WHERE DATE_ADD(start_date,INTERVAL 4 DAY) = ' ".$date." ' AND user_monsoon_offer.user_id NOT IN (SELECT user_id FROM transactions)";
谁能告诉我什么是错误的与查询MySQL查询concatination错误
$sql = "SELECT * FROM user_monsoon_offer WHERE DATE_ADD(start_date,INTERVAL 4 DAY) = ' ".$date." ' AND user_monsoon_offer.user_id NOT IN (SELECT user_id FROM transactions)";
我相信你在串联有多余的空格引起的问题。试试这个:
$sql = "SELECT * FROM user_monsoon_offer
WHERE DATE_ADD(start_date,INTERVAL 4 DAY) = '$date'
AND user_monsoon_offer.user_id NOT IN (SELECT user_id FROM transactions)";
你原来WHERE
条款看起来像下面这样:
WHERE DATE_ADD(start_date,INTERVAL 4 DAY) = ' 2016-06-21 '
,因为多余的空格这将无法正常工作。
它传递$ date作为字符串 –
我删除了它仍然不工作的空格 –
你的日期格式是什么?将其粘贴到此处作为评论或更新您的原始问题。 –
我相信你在过滤条件下寻找动态数据连接。使用下面的条件。
SELECT * FROM user_monsoon_offer
WHERE SUBDATE(start_date,4) = ' ".$date." '
AND user_monsoon_offer.user_id NOT IN (SELECT user_id FROM transactions);
你期望什么,你目前的结果是什么? – stenix
'echo $ sql;'并粘贴在这里 – Strawberry