1 回答
TA贡献1795条经验 获得超7个赞
$lastInsertId()返回在同一连接上插入的 ID。每次呼叫时都会获得一个新的连接$this->connect()。
您需要保存结果,$this-connect()以便使用相同的连接。
public function insert_row($created_at){
$sql = "INSERT INTO empty_rows (created_at) VALUES (?)";
$connect = $this->connect();
$stmt = $connect->prepare($sql);
$stmt->execute([$created_at]);
$id = $connect->lastInsertId();
echo $id;
}
一般来说,如果您不断创建新连接,您的应用程序会显着变慢。我建议你改变connect()方法,让它只在第一次连接。
protected function connect(){
if (!isset($this->pdo) {
$dns = "mysql:host=" . $this->server . ";dbname=" . $this->database;
$this->$pdo = new PDO($dns, $this->username, $this->password);
$this->$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
}
return $this->$pdo;
}
- 1 回答
- 0 关注
- 138 浏览
添加回答
举报