【问题标题】:Notice: Array to string conversion in basic.php on line 1443 Array [closed]注意:第 1443 行 Array [关闭] 中 basic.php 中的数组到字符串转换
【发布时间】:2022-01-05 07:21:15
【问题描述】:

我试图通过表单发布查询并收到通知:在 basic.php 中第 1443 行数组中的数组到字符串转换。

    function updateUSR($id, $columns, $old)
    {
        global $database;
        
        $query = '';
        $new_data = array();

        foreach($columns as $column)
            if(isset($_POST[$column['name']]) && $old[$column['name']] != $_POST[$column['name']])
            {
                $new_data[$column['name']] = $_POST[$column['name']];
                $query = $query.$column['name'].'=:'.$column['name'].', ';
                print $new_data;
            }
                
        if(strlen($query))
        {
            $query=rtrim($query,", ");
            $new_data['name'] = $id;
            
            $stmt = $database->runQueryPlayer("UPDATE users SET ".$query." WHERE a_index=:name ");
            $stmt->execute($new_data);
            $stmt->execute(); // Line 1443
            
            
        }
    }

【问题讨论】:

  • 哪一行是第 1443 行 - 这是目前唯一重要的行...
  • print $new_data;。您不能将数组打印为字符串。
  • 我投票结束这个问题,因为错误消息解释了问题。

标签: php mysql pdo


【解决方案1】:

您正在尝试在 $new_data 数组上使用打印功能。您可以使用 foreach 循环遍历每个值并打印,也可以使用 print_r 函数。

print_r($new_data);
//or
foreach($new_data as $key => $value) {
        print($value);
}

【讨论】:

  • 警告:PDOStatement::execute(): SQLSTATE[HY093]:无效参数编号:绑定变量的数量与第 1452 行的 basic.php 中的标记数量不匹配警告:PDOStatement::execute( ):SQLSTATE [HY093]:无效参数号:绑定变量的数量与第1453行数组的basic.php中的标记数量不匹配([a_name] => 3864 [a_nick] => ANND01 [a_level] => 33 [a_str ] => 3071 [a_dex] => 8191 [a_int] => 2571 [a_con] => 2481 [a_hp] => 98461 [a_max_hp] => 42081 [a_mp] => 62181 [a_max_mp] => 36381)
猜你喜欢
  • 2015-03-26
  • 1970-01-01
  • 2013-11-03
  • 2023-03-06
  • 2021-01-18
  • 2015-09-07
  • 2018-01-26
  • 1970-01-01
相关资源
最近更新 更多