我有一个连接两个表的 mysql 数据库的查询。在第一个表中,它只是根据 id 提取记录。对于第二个表,可能有也可能没有基于第一个表中的值的匹配项。如果有任何匹配项,我想获得匹配项,否则,结果记录集的那些值可能是空的。
该查询似乎产生了正确数量的记录。但是,当我尝试访问一些应该存在的变量的值时,我什么也得不到,要么是因为我可能将它们称为错误的名称,要么它们以某种方式不在记录集中。我对mysql查询有点模糊,所以非常感谢任何建议..
表1公园
id | name | stateid
表2 参观过的公园
id | visited | parkid | userid
PHP 脚本
$sql = "SELECT *
FROM `parks` p
LEFT JOIN `parksvisited` pv
ON p.id = pv.parkid
WHERE p.stateid = '44'"
运行查询...
while($row = mysql_fetch_array($res))
{
if ($row['visited'] == 1) {
$visited = 1; }
else {
$visited = 0; }
<a href="javascript:void(0);" onclick="loadParks(\''.$row['stateid'].'\',\''.$row['p.id'].'\',\''.$visited.'\');">Visited</a>
}
基本上,我得到了 stateid,但我没有得到 p.id 或访问过。可能是我将它们命名错误,或者它们可能以某种方式被排除在结果之外......感谢您的任何建议。