私は2つのカラム(id、name)を持つSQLテーブル(モジュール)を持っています。これからPHPスクリプトを通して行を取得することができますが、私が望むのは、キーとしてidの値を使用し、値としてnameの値を多次元配列で使用することです。次に、それらをJSONにエンコードし、キー/値の関係を保持したいと考えています。私は何か一緒に混乱しましたが、nullを返します。PHP配列のSQLクエリー結果を平滑化
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();
}
からの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);
機能から該当するコードは、私は周りを見回しましたが、クエリの戻りがどのように私は単に「き」ではありませんよ新しい配列のキー/値に分解されます。もし誰かがELI5できたら、私はそれを感謝します。私はこの側面に懸念しています。個人的なプロジェクトなので、セキュリティの問題にまだ集中していません。ありがとうございます。
他のデータとともに$ arrの内容をJSONに追加したい場合、$ responseに$ arrを追加するにはどうしたらよいですか?押す? – DarkMalice
関数から返されたmodules配列を既存の '$ response'配列に追加するコードを修正しました – RiggsFolly