因此,我使用此查询来获取有关更改的详细信息并将其邮寄。以前,当第二个内部连接丢失时,它可以工作,但无论我做什么,我都无法让它与它一起工作。在 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:解决方法不起作用仍然需要对此的答案。
最佳答案
在查询中的每个名称前添加 '
:
SELECT 'vtiger_modtracker_detail.id' FROM 'etc', 'etc2'
关于PHP 我的查询在 phpmyadmin 中有效,但在我的代码中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35862918/