Php 尝试获取特定外键的信息

Php 尝试获取特定外键的信息,php,sql,Php,Sql,我是php和mysql的新手。 我正试图从我的一张桌子上获取信息。 把我桌子的情况告诉你就行了。 我的表名是leave。它包含一个外键,即leaveId lid empname username nod date reason action leaveID === ======= ======== === ===== ====== ====== ======= 1 Maxwell

我是php和mysql的新手。 我正试图从我的一张桌子上获取信息。 把我桌子的情况告诉你就行了。 我的表名是
leave
。它包含一个外键,即
leaveId

    lid     empname     username    nod     date     reason  action leaveID 
    ===     =======     ========    ===     =====    ======  ====== =======
     1      Maxwell       max        1       2012     Null   Denied    3
     2      Ponting      punter      1       2011     Null   Denied    4
     3      Ponting      punter      2       2011     xam    Accepted  4
     4      Taylor       tayl        1       2011     Null   Accepted  1
现在,作为示例,有任何sql查询只检索
指向
leaveId
是4的信息。我编写了以下查询

$leave = mysql_query("SELECT * FROM `leave` where leaveID = $user ");
但它只返回与数字4关联的第二行
leaveId
它应该返回第二行和第三行,不是吗。
事实上,我不确定…如果它是错误的,那么请给我正确的答案(例如)如何获取LeveId为4的ponting的信息。

您需要使用while循环获取行

$leave = mysql_query("SELECT * FROM `leave` where leaveID = $user ");
while ($row = mysql_fetch_array($leave, MYSQL_NUM)) {
    printf(" ID:", $row[0], "empname ", $row[1]);  
}

您需要使用while循环获取行

$leave = mysql_query("SELECT * FROM `leave` where leaveID = $user ");
while ($row = mysql_fetch_array($leave, MYSQL_NUM)) {
    printf(" ID:", $row[0], "empname ", $row[1]);  
}

SQL查询是正确的,之后您使用什么PHP代码来处理结果?这可能是您的问题。您是否在leaveID=$user中将$user作为4传递?如果是这样,则应该有两行。如何验证输出中只有一行?您是否尝试过在sql编辑器中运行此查询?它应该同时返回这两个查询,但您需要遍历结果集。因此,您需要调用两次mysql\u fetch\u row
来获取这两行@出于好奇,你为什么要使用mysql函数?是否有一些流行的教程告诉人们使用这些工具?SQL查询是正确的,之后您使用什么PHP代码来处理结果?这可能是您的问题。您是否在leaveID=$user中将$user作为4传递?如果是这样,则应该有两行。如何验证输出中只有一行?您是否尝试过在sql编辑器中运行此查询?它应该同时返回这两个查询,但您需要遍历结果集。因此,您需要调用两次mysql\u fetch\u row
来获取这两行@出于好奇,你为什么要使用mysql函数?有什么流行的教程告诉人们使用这些工具吗?