php - 更新关联数组键

标签 php mysql sql web-applications

我在更新多维关联数组的值时遇到问题。数组 $people 是从另一个 MySQL 调用生成的。和 : array_push($people, array("forename"=> $pat_f_name, "surname"=> $pat_s_name,"id"=> $id)); 我设置了 $forname$surname"",只是为了把 key 放在那里。

我正在尝试遍历数组进行 SQL 调用并检索相关的名字和姓氏,然后更新数组索引处的键。

以下是我目前的尝试。

提前致谢。

$stmt = $mysql->stmt_init();

foreach ($people as $person)
{
    if($stmt->prepare("SELECT forename,surname FROM worker WHERE id = ?"))
    {
        $stmt->bind_param('i', $p_id);
        $p_id = $person["id"];
        $stmt->execute();
        $stmt->bind_result($f_name, $s_name);
        while($stmt->fetch())
        {
            $people[$person]["forename"] = $f_name;
            $people[$person]["surname"] = $s_name;

        }
    }
}    


$stmt->close();

最佳答案

$person 是一个数组

$p_id = $person["id"];

这个

$people[$person]["forename"] = $f_name;

应该输出:

警告:....中的非法偏移类型

var_dump($people)

输出

array(0) { } 

更好

foreach($people as $key => $person)
<your code>

$people[$key]["forename"] = $f_name;

关于php - 更新关联数组键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12639119/

相关文章:

php - 为 php/mysql CMS 预处理和后处理多语言用户输入的最佳方法

php - 由于时区设置而改变日期

mysql - Sql 查询 Join/Where 3 个表

mysql - 根据列值对分层 SQL 行进行排序

mysql - 选择主表中包含两个不同索引的行到另一个表上的记录

php - 允许的内存大小 134217728 字节已用尽

php - 发电机 : not getting the answer I'm expecting using batch_get_item

mysql - join多表时判断user是否存在于一个sum中

mysql - 什么时候使用多重索引?何时使用力量指数?

php - 如何在列中插入多个出值(value)