我在mysql中运行此查询:
SELECT *
FROM ROOM_TYPE RT
LEFT JOIN RENT_CONTRACT RC ON RT.room_type_id = RC.room_type_id
WHERE RT.homestead_id = 20;
在mysql中,它运行完美,我需要的结果。当我在PHP中运行它时,它给了我除了RT.room_type_id之外的所有内容,这些内容作为null返回给我。
当我将查询更改为只给我那个字段时,我仍然在php中得到null。知道为什么吗?
SELECT RT.room_type_id
FROM ROOM_TYPE RT
LEFT JOIN RENT_CONTRACT RC ON RT.room_type_id = RC.room_type_id
WHERE RT.homestead_id = 20;
我的Php,我遗漏了其他项目以显示问题。
global $con;
$qry = "SELECT RT.room_type_id FROM ROOM_TYPE RT LEFT JOIN RENT_CONTRACT RC ON RT.room_type_id = RC.room_type_id WHERE RT.homestead_id = 20";
$result = mysqli_query($con,$qry);
return mysqli_fetch_assoc($result);
答案 0 :(得分:0)
您的测试查询:
SELECT RT.room_type_id
FROM ROOM_TYPE RT
LEFT JOIN RENT_CONTRACT RC ON RT.room_type_id = RC.room_type_id
WHERE RT.homestead_id = 20;
相当于这个简化的:
SELECT RT.room_type_id
FROM ROOM_TYPE RT
WHERE RT.homestead_id = 20;
如果RT-> RC匹配不是一对一的,则除了原点之外,可能会多次出现RT行。但是不同的值集应该是相同的。
因此,对于调试,也许您可以尝试在mysql和php中运行简化查询,看看会发生什么。当你通过mysql和php运行时,你在同一个数据库上运行吗?