何らかの理由で、データベースからデータをフェッチしようとすると、データが複数回返されます。
$base = "mysql:host=" . $config["database"]["host"] . ";port=" . $config["database"]["port"] . ";dbname=" . $config["database"]["name"];
$conn = new PDO($base, $config["database"]["user"], $config["database"]["pass"]);
$query = $conn->query("SELECT setting, value FROM main");
if(!$query->rowCount()){
echo "An error occured while trying to load some important information. Please check your database credentials and data and try again.";
}
else{
$result = $query->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP);
var_dump($result);
}
たとえば、テーブルに次のデータがあるとします。
setting | value
------------------
one | 1
------------------
two | 2
------------------
関数 var_dump() を呼び出すと、次のように出力されます。
array(2) {
["one"]=> array(1) {
[0]=> string(56) "1"
}
["two"]=> array(1) {
[0]=> string(24) "2"
}
}
array(2) {
["one"]=> array(1) {
[0]=> string(56) "1"
}
["two"]=> array(1) {
[0]=> string(24) "2"
}
}
array(2) {
["one"]=> array(1) {
[0]=> string(56) "1"
}
["two"]=> array(1) {
[0]=> string(24) "2"
}
}
array(2) {
["one"]=> array(1) {
[0]=> string(56) "1"
}
["two"]=> array(1) {
[0]=> string(24) "2"
}
}
なぜこれが起こっているのか誰にも分かりますか?