我试图从数据库中获取特定数据,该特定数据应该是最后输入的 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 关注
- 192 浏览
添加回答
举报
0/150
提交
取消