php - PDO lastInsertId in CLI Mode -
i working in cli mode , i'm getting fatal error.
call undefined method supplier::lastid() in /var/www/vhosts/**********/httpdocs/content/mail/tr/critic_stock_mail.php on line 11
normaly works fine in normal mode. every 1 says beware using lastinsertid try catch block. not true. in normal mode works correctly.
but remove lastinsertid part in try catch block. in cli mode not working also. should ?
try{ $supplierobj->begin(); //mail gönderim tarihini güncelliyoruz $sql = "update ".prefix."product set supplier_mail_date = now() supplier = :supplier"; $supplierobj->query($sql); $supplierobj->bind(':supplier', $supplier_id, pdo::param_int); $supplierobj->execute(); //gönderilen mailleri tabloya yazıyoruz... $sql = "insert ".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 $product){ $sql = "insert ".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(); }
try changing line
$order_id = $supplierobj->lastid();
to
$order_id = $supplierobj->lastinsertid ();
Comments
Post a Comment