Php 尝试获取特定外键的信息
我是php和mysql的新手。 我正试图从我的一张桌子上获取信息。 把我桌子的情况告诉你就行了。 我的表名是Php 尝试获取特定外键的信息,php,sql,Php,Sql,我是php和mysql的新手。 我正试图从我的一张桌子上获取信息。 把我桌子的情况告诉你就行了。 我的表名是leave。它包含一个外键,即leaveId lid empname username nod date reason action leaveID === ======= ======== === ===== ====== ====== ======= 1 Maxwell
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函数?有什么流行的教程告诉人们使用这些工具吗?