Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 是否将pdo执行结果保存到数组中?_Php_Arrays_Pdo_Prepared Statement - Fatal编程技术网

Php 是否将pdo执行结果保存到数组中?

Php 是否将pdo执行结果保存到数组中?,php,arrays,pdo,prepared-statement,Php,Arrays,Pdo,Prepared Statement,我使用下面的代码用不同的值更新数据库中的一个表(我将这个示例缩短为两个)。给定一个用户数组($user\u set),我检查该用户的设置是否存在。。。如果他们这样做,我将更新用户行。。。如果没有,则我为用户创建一行 下面的代码工作正常,但是,我需要返回一个刚刚更改的行数组,以便使用js更新页面显示 基本上我想做的是$result\u array[]=$stmt->execute($binding)(行的所有值都已更新/插入) 这样我就可以echo json\u encode($result\u

我使用下面的代码用不同的值更新数据库中的一个表(我将这个示例缩短为两个)。给定一个用户数组($user\u set),我检查该用户的设置是否存在。。。如果他们这样做,我将更新用户行。。。如果没有,则我为用户创建一行

下面的代码工作正常,但是,我需要返回一个刚刚更改的行数组,以便使用js更新页面显示

基本上我想做的是
$result\u array[]=$stmt->execute($binding)(行的所有值都已更新/插入)

这样我就可以
echo json\u encode($result\u array)并有一个我刚刚更新/插入用于js的所有行的数组

这样做是可能的还是我需要自己在php中创建数组才能返回

<?php

        //set bindings
        $binding = array(
            'one' => $settings['one'],
            'two' => $settings['two'],
            'user_id' => $user['user_id']
            );

        foreach($user_set as $key)
        {

            // check if program settings exist or not
            $stmt = $db->prepare("SELECT * FROM settings WHERE user_id = ?");
            $stmt->execute(array($key['user_id']));

            // program_settings result is
            $result = $stmt->fetch(PDO::FETCH_ASSOC);

            // if result then settings exist and update... if not insert one
            if($result)
            {
                //prepare update statement
                $stmt = $db->prepare("UPDATE settings SET one = :one, two = :two WHERE user_id = :user_id");
            }
            else
            {
                //prepare insert statement
                $stmt = $db->prepare("INSERT INTO settings (user_id, one, two) VALUES (:user_id, :one, :two)");
            }

            //set comp id
            $binding['user_id'] = $key['user_id'];

            // execute the update
            $stmt->execute($binding);
        }

?>

在使用stmt->execute()之后;要执行一些sql,可以使用stmt->fetchAll();获取受sql语句影响的所有行