我已经为此工作了几个小时,试图将生成的 mysql 查询拆分为可用的变量,但我只是不知道我做错了什么。我不再获得资源 ID#,但现在我得到的只是 print_r 时变量中的“数组”。我正在尝试从它们自己的数组中的 select 语句中获取 3 个字段并使用这些值。我一直在努力尝试让它创建可用的数据。非常感谢任何帮助,因为我觉得我可以花很多很多时间进行修补,但似乎走错了路。
$Query = "SELECT guardian.Email, child.CFName, guardian.FName
FROM child
INNER JOIN uaccount ON child.ANum = uaccount.ANum
INNER JOIN guardian ON guardian.ANum = uaccount.ANum
WHERE uaccount.ANum = '$ANum';";
$result = mysql_query($query);
$test = mysql_fetch_array($result, MYSQL_BOTH);
print_r('this is the test '.$test."<br/>");
while($row = mysql_fetch_assoc($test, MYSQL_BOTH))
{
print_r('this is the row '.$row."<br/>");
foreach($row as $rows)
{
$info = mysql_fetch_assoc($rows, MYSQL_BOTH);
$Email = $info['0'];
$FName = $info['1'];
$CFName = $info['2'];
}
}
非常感谢您迄今为止的帮助。在大家的帮助下,我已经能够使用以下代码从数组的第一级提取值:
$query = "SELECT guardian.Email, guardian.FName, child.CFName
FROM guardian
INNER JOIN uaccount ON child.ANum = uaccount.ANum
INNER JOIN guardian ON guardian.ANum = uaccount.ANum
WHERE uaccount.ANum = '$ANum';";
$result = mysql_query($query);
$info = mysql_fetch_array($result);
$Email = $info['0'];
$FName = $info['1'];
$CFName = $info['2'];
但是,这只会返回 1/3 的数据,因为每个帐户都有 3 个与之相关的监护人电子邮件地址。在我应该返回大约 2000 行的地方,我只得到 670 行。这就是为什么我在原始帖子中嵌套另一层以及为什么我试图从其自身中提取一个 fetch_assoc。如果您不能从自身中拉出一个数组,那么您如何“取消嵌套”?非常感谢任何和所有帮助。