gpt4 book ai didi

具有键值的 PHP 数组不匹配

转载 作者:搜寻专家 更新时间:2023-10-31 21:37:36 25 4
gpt4 key购买 nike

我有一个在 php 中运行的查询。数据库是 SQL Server 2008。PHP 中的查询是:

"SELECT * FROM applicants WHERE applicants.families_id = '{$family_array['id']}'";

其中 $family_array id 与 families_id 匹配。结果我得到一行。我使用 mssql_fetch_array 函数将该行保存到 PHP 中的一个数组中。当我打印这个数组时,我得到以下信息:

    Array
(
[0] => 26
[id] => 21
[1] => 21
[user_id] => 21
[2] => Kristi
[mother_fname] => Kristi
[3] => Lochala
[mother_lname] => Lochala
[4] => Nathan
[father_fname] => Nathan
[5] => Lochala
[father_lname] => Lochala
[6] =>
[app_emergency] =>
[7] =>
[upload_mother_passport] =>
[8] =>
[upload_mother_visa] =>
[9] =>
[upload_father_passport] =>
[10] => 0
[upload_father_visa] => 0
[11] => nathan-lochala
[user_added_username] => nathan-lochala
[12] => Mar 19 2013 01:00:37:660PM
[user_added_date] => Mar 19 2013 08:48:00:000AM
[13] => 192.168.88.15
[user_added_ip] => 192.168.88.15
[14] =>
[user_updated_username] =>
[15] =>
[user_updated_date] =>
[16] =>
[user_updated_ip] =>
[17] => 21
[18] => nathan-lochala
[username] => nathan-lochala
[19] => b9a234cb37ce2b75d77befecabfa650e39489e0b
[hash_password] => b9a234cb37ce2b75d77befecabfa650e39489e0b
[20] => Nathan
[fname] => Nathan
[21] => Lochala
[lname] => Lochala
[22] => 2
[num_child] => 2
[23] => Mar 19 2013 08:48:00:000AM
[24] => 192.168.88.15
[25] =>
[26] =>
[27] => nathan-lochala@shk.qsi.org
[email] => nathan-lochala@shk.qsi.org
[28] => parent
[access] => parent
)

如果您注意到,索引 [0] 与相应的键值 [id] 不匹配。为什么是这样?我使用 SQL Server 管理器运行了完全相同的查询,它按预期执行,但是当我在 PHP 中获取该数组时,只有第一个键值出现偏差。除了重新创建表格之外,我已经尝试了所有我能想到的方法。有什么想法吗?

编辑:运行 mssql_fetch_assoc() 会得到以下结果:

Array
(
[id] => 21
[user_id] => 21
[mother_fname] => Kristi

enter image description here

enter image description here

最佳答案

您没有在发布的 SQL 或您包含的表数据/结构中包含所有相关信息。您的查询是 SELECT * FROM applicants WHERE applicants.families_id = ? 但您发布的表结构不包含 families_id 列(也没有命名为 applicants )。它也不包含发布数组中的大部分数据,例如,hash_passwordusername 等。

据此我推断您实际上是在users 表上执行JOIN。最有可能发生的是 JOIN 包含 users 表中的 id 列,该列覆盖了主表中的 id (家庭/申请人,不管它叫什么)阵列建成后user_id 已包含在您的主表中,因此您应该明确列出 SQL 语句中的列,省略 users.id 列。

关于具有键值的 PHP 数组不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15492245/

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