我試圖從數據庫中獲取特定數據,該特定數據應該是最后輸入的 ord_id。我在程序運行時將它保存在一個名為 ord_id 的新變量中,我收到此錯誤警告:mysqli_insert_id() 期望參數 1 為 mysqli,錯誤中給出的對象在第 35 行,看起來像這樣添加到購物車.phprequire_once 'config.php';$config = new database();$ord_id = mysqli_insert_id($config);$data = $config->getData($ord_id);foreach($data as $i){ echo '<tr> <td> '.$i['ord_id'].'</td> <td> '.$i['card_id'].'</td> <td> '.$i['field1'].'</td> <td> '.$i['field2'].'</td> <td> '.$i['field3'].'</td> <td> '.$i['field4'].'</td> <td> '.$i['field5'].'</td> <td> '.$i['ord_qty'].'</td> <td> '.$i['card_price'].'</td> <td> '.$i['ord_total'].'</td>';public function getData($ord_id){ $sql = "SELECT * FROM product_order WHERE ord_id = :ord_id"; $stmt = $this->con->prepare($sql); $stmt->execute(['ord_id' => $ord_id]); $data = $stmt->fetchAll(PDO::FETCH_ASSOC); return $data;}
1 回答

繁華開滿天機
TA貢獻1816條經驗 獲得超4個贊
您調用的方式$this->con->execute()意味著您使用的是 PDO,而不是 mysqli,因此您無法調用mysqli_insert_id. 你應該使用$this->con->lastInsertId().
public function getOrdId() {
return $this->con->lastInsertId();
}
然后你可以使用:
$ord_id = $config->getOrdId();
請注意,這僅在您INSERT使用相同的數據庫連接執行時才有用。如果您在 之后立即調用它,它將不會返回任何有用的東西$config = new database();。
- 1 回答
- 0 關注
- 185 瀏覽
添加回答
舉報
0/150
提交
取消