gpt4 book ai didi

mysql - sql 查询返回所需数据量的两倍

转载 作者:行者123 更新时间:2023-11-29 13:55:36 26 4
gpt4 key购买 nike

我有一个如下所示的 SQL 查询:

    public function get_data() {

$db = new databaseConnection();
$db->do_connection();

$this->uid = $_SESSION['uid'];

$query = "SELECT ut.level, ut.location, ui.quantity, ui.game_item_id
FROM user_table ut, user_inventory ui
WHERE ut.user_id = ui.user_id
AND ut.user_id = :user_id";
$args = array(
":user_id" => $this->uid
);
$db->safeQuery($query,$args);

$results = $db->safe_fetch_all_results();
if($results == null){
die ('Error with user data fetch');
}

var_dump($results);

return $results;

}

查询按我想要的方式工作,但由于某种原因,var_dump 显示返回的数据如下:

array (size=2)
0 =>
array (size=8)
'level' => string '1' (length=1)
0 => string '1' (length=1)
'location' => string '4554' (length=4)
1 => string '4554' (length=4)
'quantity' => string '2' (length=1)
2 => string '2' (length=1)
'game_item_id' => string '1' (length=1)
3 => string '1' (length=1)
1 =>
array (size=8)
'level' => string '1' (length=1)
0 => string '1' (length=1)
'location' => string '4554' (length=4)
1 => string '4554' (length=4)
'quantity' => string '1' (length=1)
2 => string '1' (length=1)
'game_item_id' => string '5' (length=1)
3 => string '5' (length=1)

正如您所看到的,对于查询检索的每条记录,还会检索重复的记录,如果您愿意,其中一个包含字段名称,另一个包含索引号。

当我执行嵌套的 foreach 语句时,我得到相同的结果,我得到重复的结果。

这是我的表格的结构:

user_table表

user_ID PK
username
password
email
level
location

游戏项目表

game_item_is PK
item_name

user_inventory表

user_inventory_id PK
user_id FK
game_item_id FK
quantity

你们知道为什么会发生这种情况吗?

谢谢

最佳答案

这是标准行为...如果从结果集中获取数据,您可以选择通过关联 (FETCH_ASSOC)、通过索引或两者 (FETCH_BOTH) 来检索数据

关于mysql - sql 查询返回所需数据量的两倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15922263/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com