我有一個SQL表(模塊)有兩列(id,name)。現在我可以通過PHP腳本從這裏獲取行,但是我想要的是在多維數組中使用id的值作爲鍵,name的值作爲值。然後我希望能夠將這些編碼成JSON,保留鍵/值之間的關係。我混淆了一些東西,但它返回null。展平PHP數組的SQL查詢結果
從index.php文件
$mod1 = $core["module1"];
$mod2 = $core["module2"];
$modules = $db->getModulesById($mod1, $mod2); //module names & ids
$response["module"]["mod1"] = $modules[$mod1];
$response["module"]["mod2"] = $modules[$mod2];
$response["module"]["mod1name"] = $modules[$mod1]["name"];
$response["module"]["mod2name"] = $modules[$mod2]["name"];
echo json_encode($response);
功能相關的代碼DB_Functions.php
public function getModulesById($mod1, $mod2) {
require_once 'include/Config.php';
$con = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD);
// Check connection
if (!$con)
{
die("Connection error: " . mysqli_connect_error());
}
// selecting database
mysqli_select_db($con, DB_DATABASE) or die(mysqli_connect_error());
$query = "SELECT * FROM modules WHERE id= '$mod1' OR id='$mod2'";
$result = mysqli_query($con, $query);
$arr = array();
while($row = mysqli_fetch_assoc($result)) {
// process each row
//each element of $arr now holds an id and name
$arr[] = $row;
}
// return user details
return mysqli_fetch_array($arr);
close();
}
我環顧四周,但我只是沒有「得到」查詢回報如何然後分解爲新數組的鍵/值。如果有人可以ELI5我會很感激。我只關心這個方面,這是一個個人項目,所以我現在還沒有關注安全問題,謝謝。
如果我想將$ arr內容與其他數據一起添加到JSON中,請說出一個現有的數組$ response,我該如何將$ arr添加到$ response?推? – DarkMalice
我修改了代碼,將函數返回的模塊數組添加到您現有的$ response數組中 – RiggsFolly