所以我使用此查询来获取有关更改的详细信息并将其邮寄。它之前的工作是当seconde内部连接丢失,但我做什么我不能使它工作。在phpmyadmin它工作,我得到我的行,但在我的PHP我得到0行。我很想知道我在这里做错了什么。
$query = "SELECT * FROM vtiger_modtracker_detail WHERE id = (SELECT vtiger_modtracker_detail.id FROM vtiger_modtracker_detail " .
"INNER JOIN vtiger_modtracker_basic ON vtiger_modtracker_basic.id = vtiger_modtracker_detail.id " .
"INNER JOIN vtiger_crmentity ON vtiger_crmentity.modifiedtime = vtiger_modtracker_basic.changedon " .
"WHERE vtiger_crmentity.crmid = ? ORDER BY vtiger_modtracker_detail.id DESC LIMIT 1);";
$res = $adb->pquery($query, array($id[1]));
$row = $adb->num_rows($res);
编辑:
我简化了查询但没有改变。
$query = "SELECT * FROM vtiger_modtracker_detail WHERE id = (SELECT vtiger_modtracker_basic.id FROM vtiger_modtracker_basic " .
"INNER JOIN vtiger_crmentity ON vtiger_crmentity.modifiedtime = vtiger_modtracker_basic.changedon " .
"WHERE vtiger_crmentity.crmid = 42 ORDER BY vtiger_modtracker_basic.id DESC LIMIT 1)";
这可能是因为我在INNER JOIN中比较日期。
编辑2:在pquery()中丢失$但是这并没有解决它。我找到了一个解决方案,所以我不再需要使用此查询了。但如果有人知道我想知道的查询有什么问题。
编辑3:解决方法不起作用仍需要答案。
答案 0 :(得分:0)
在查询中的每个名称前添加'
:
SELECT 'vtiger_modtracker_detail.id' FROM 'etc', 'etc2'