簡體   English   中英

MySql INNER JOIN導致“怪異”數組

[英]MySql INNER JOIN results in “weird” Array

我在高級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 <<<<<< ???

問題:這些值從何而來? 我如何擺脫它們?

將您的代碼更改為:

mysqli_fetch_all($mysqli_result, MYSQLI_ASSOC);

這樣,您就不會在結果中得到數字鍵。

參見MySQLi預定義常量

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM