亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

mysqli_insert_id() 期望參數 1 是 mysqli,給定的對象

mysqli_insert_id() 期望參數 1 是 mysqli,給定的對象

PHP
大話西游666 2022-01-02 15:36:21
我試圖從數據庫中獲取特定數據,該特定數據應該是最后輸入的 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();。


查看完整回答
反對 回復 2022-01-02
  • 1 回答
  • 0 關注
  • 185 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號