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 關注
- 177 瀏覽
添加回答
舉報