我在高级MySql中表现不佳,并尝试连接多个表并将结果放入单个PHP数组中。
SELECT * FROM AAA
INNER JOIN BBB ON AAA.Aufg_id = BBB.Aufg_id
INNER JOIN CCC ON AAA.SchuelerNr = CCC.schuelernr AND AAA.Schulnummer = CCC.schulnummer AND AAA.Klasse = CCC.klasse
WHERE AAA.Schulnummer='$x' AND AAA.Klasse='$y' AND AAA.SchuelerNr='$z'
结果被放入
mysqli_fetch_all($mysqli_result, MYSQLI_BOTH);
因此,我能够获得关联的值或通过循环迭代的数字。
几乎一切都运行良好,除了两个不应该存在的值:
[0] => DEMO11
[sn] => DEMO11
[1] => 2014-03-31 10:05:14
[zt] => 2014-03-31 11:47:45
[2] => 8a_D1
[kl] => 8a_D1
[3] => 4
[snr] => 4
[4] => 1
[Aufg_id] => 1
[5] => f
[erg] => f
[6] => 1 <<<< WHERE DOES THIS COME FROM?
[7] => 1
[th] => 1
[8] => Deu
[fac] => Deu
每行增加一个值。它位于表AAA和BBB之间,没有任何关联键。
在每一行的最后,还有一个更令人恼火的值,表示来自其他一列的日期时间:
[43] => 8
[NA_Eng] => 8
[44] => 4
[NA_Fra] => 4
[45] => 2014-03-31 11:47:45 <<<<<< ???
问题: 这些价值来自哪里?我怎么能摆脱它们?
答案 0 :(得分:0)
将您的代码更改为:
mysqli_fetch_all($mysqli_result, MYSQLI_ASSOC);
这样,您就不会在结果中获得数字键。