如何使用PDO插入然后返回创建的lastInsertId()
?这可以在函数内部完成,但无论如何,我想在函数外部获得lastInsertId()
。
function insert_PDO($item1, $item2){
$params = array(
":item1" => $item1 ,
":item2" => $item2
);
$sql = "INSERT INTO table (column1, column2)
VALUES (:item1, :item2)
";
//return $this->insert($sql, $params); //this one works
//now trying this, want to return
$insertitems = $this->insert($sql, $params);
$item_ID = $this->lastInsertId();
return ($insertitems, $item_ID) ; //does not work
}
protected function insert($sql, $params)
{
$stmt = $this->dbh->prepare($sql);
return $stmt->execute($params);
}
// I tried this too with the original insert:
$results = $createInsert -> insert_PDO($item1, $item2);
$lastid = $results[0];
foreach($results1 as $row){
$auditVID = $row[ID];
$auditVID = $row[0];
}
答案 0 :(得分:0)
声明
return ($insertitems, $item_ID) ;
会导致语法错误。
如果要返回多个值 - 请使用array:
$insertitems = $this->insert($sql, $params);
$item_ID = $this->lastInsertId();
return array($insertitems, $item_ID) ;
// or for newer php versions:
return [$insertitems, $item_ID];