INSERT INTO таблица SELECT из другой таблицы не дает идентификаторов - PullRequest
0 голосов
/ 10 января 2019

Я пытаюсь выяснить, как передать данные из select для вставки в один оператор.

$statement = "INSERT INTO $table2 ($fields2) SELECT $fields$table$whereOrderBy";
echo $statement;
return $datas = $this->query($statement, $fields2, false, null); //fields2 is attributes..

INSERT INTO match_players (match_id,team_id,team_player_id,name,squad_number,display_order,status ) SELECT id,team1_id,210,SUEMA,13,23,first_eleven FROM matches WHERE team1_id = 1 AND is_deleted = 0

//it doesnt show 'team1_id' is 1....

Предупреждение: PDOStatement :: execute () ожидает, что параметр 1 будет массивом, строка, указанная в /var/opt/lampp/htdocs/testLAB/query/query.php в строке 59

$db->insertSelect('all', ['fields2' => ['match_id', 'team_id', 'team_player_id', 'name', 'squad_number', 'display_order', 'status'], 'fields' => ['id', 'team1_id', $team_player_id, $name, $squad_number, $display_order, $default_status], 'conditions' => ['team1_id' => $id, 'is_deleted' => 0]]);

Код ошибки:

Предупреждение: PDOStatement :: execute () ожидает, что параметр 1 будет массивом, строка, указанная в /var/opt/lampp/htdocs/testLAB/query/query.php в строке 59

функция: function prepare($statement, $attributes, $one = false, $fetch = null) 59: $res = $req->execute($attributes);

var_dump ($ attriputes):

array(6) { [0]=> string(8) "TYRAJYRA" [1]=> string(1) "1" [2]=> string(2) "44" [3]=> string(13) "not_available" [4]=> string(2) "33" [5]=> string(16) "img/default.jpeg" } 
INSERT INTO match_players (match_id,team_id,team_player_id,name,squad_number,display_order,status ) SELECT id,team1_id,211,TYRAJYRA,44,33,not_available FROM matches WHERE team1_id = 1 AND is_deleted = 0
string(71) "match_id,team_id,team_player_id,name,squad_number,display_order,status " 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...