我在CLI模式下工作,我得到致命错误。
调用未定义方法Supplier::lastID()在/var/www/vhosts/**********/httpdocs/content/mail/tr/critic_stock_mail.php第11行
正常模式下一切正常。每个人都说小心使用lastInsertId try catch块。但事实并非如此。正常模式下一切正常
但我删除了lastInsertId部分在try catch块。在CLI模式下,它也不工作。我该怎么办?
try{
$supplierObj->begin();
//Mail Gönderim Tarihini Güncelliyoruz
$sql = "UPDATE ".PREFIX."product SET supplier_mail_date = NOW() WHERE supplier = :supplier";
$supplierObj->query($sql);
$supplierObj->bind(':supplier', $supplier_id, PDO::PARAM_INT);
$supplierObj->execute();
//Gönderilen Mailleri Tabloya Yazıyoruz...
$sql = "INSERT INTO ".PREFIX."supplier_order (supplier_id, create_date) VALUES (:supplier_id, NOW())";
$supplierObj->query($sql);
$supplierObj->bind(':supplier_id', $supplier_id, PDO::PARAM_INT);
$supplierObj->execute();
$order_id = $supplierObj->lastID();
//Gönderilen Mailin Detaylarını tabloya yazıyoruz...
foreach($supplier as $product){
$sql = "INSERT INTO ".PREFIX."supplier_products (order_id, product_id, quantity, stock_up) "
. "VALUES (:oid, :product_id, :quantity, :stock_up)";
$supplierObj->query($sql);
$supplierObj->bind(':oid', $order_id, PDO::PARAM_INT);
$supplierObj->bind(':product_id', $product['id'], PDO::PARAM_INT);
$supplierObj->bind(':quantity', $product['stock_quantity'], PDO::PARAM_INT);
$supplierObj->bind(':stock_up', $product['stock_up'], PDO::PARAM_INT);
$supplierObj->execute();
}
$supplierObj->end();
} catch (PDOException $e){
$supplierObj->cancel();
}
尝试更改行
$order_id = $supplierObj->lastID();
$order_id = $supplierObj->lastInsertId ();