Hemant Raj
Hemant Raj

Reputation: 35

Getting last insert id 0 in magento with Zend_Db_Adapter_Pdo_Mysql in magento

I need to insert data in magento mytable....

I created a connection for that by zend way.... but whole thing is good ...but I m not getting last insert id ....

my connection helper

public function _dbTable(){

        return $db = new Zend_Db_Adapter_Pdo_Mysql(array(
            'host'     => 'localhost',
            'username' => 'root',
            'password' => '',
            'dbname'   => 'magento-8'
        ));
        }

my query

$binds = array(
                    'vname' => $vhelper->_vendorsession()->getVname(),
                    'email' => $vhelper->_vendorsession()->getEmail(),
                    'phone_number' => $vhelper->_vendorsession()->getPhoneNumber(),
                    'company_name' =>  $vhelper->_vendorsession()->getCompanyName(),

                    'brands_name' => $vhelper->_vendorsession()->getBrandsName(),
                    'about_business' => $vhelper->_vendorsession()->getAboutBusiness(),
                    'seller_trade' => $vhelper->_vendorsession()->getSellerTrade(),
                    'seller_primary_category' => $vhelper->_vendorsession()->getSellerPrimaryCategory(),
                    'seller_unique_product_count' => $vhelper->_vendorsession()->getSellerUniqueProductCount(),
                    'seller_unique_sku_depth' => $vhelper->_vendorsession()->getSellerUniqueSkuDepth(),
                    'seller_primary_client_type' => $vhelper->_vendorsession()->getSellerPrimarClientType(),
                    'company_website' => $vhelper->_vendorsession()->getCompanyWebsite(),
                    'seller_city' => $vhelper->_vendorsession()->getSellerCity()         
                );

                 $vhelper->_dbTable()->insert('db_vendor', $data);
                 $id =  $vhelper->_dbTable()->lastSequenceId();
                echo $id;exit;

Upvotes: 2

Views: 461

Answers (2)

kamilus
kamilus

Reputation: 1

try

$id = $vhelper->_dbTable()->insert('db_vendor', $data);

Upvotes: 0

Elavarasan
Elavarasan

Reputation: 2669

I'm not familiar with zend, but in magento. You can get last insert id easy way in magento. In your scenario

<?php

require_once('app/Mage.php'); //Path to Magento
umask(0);
Mage::app();


$write = Mage::getSingleton('core/resource')->getConnection('core_write');
$productTable = Mage::getSingleton( 'core/resource' )->getTableName( 'db_vendor' );

$query = "INSERT INTO " . $productTable . " SET vname = :vname". "etc: etc";

$binds = array(
        'vname' => $vhelper->_vendorsession()->getVname(),
        'email' => $vhelper->_vendorsession()->getEmail(),
        'phone_number' => $vhelper->_vendorsession()->getPhoneNumber(),
        'company_name' =>  $vhelper->_vendorsession()->getCompanyName(),

        'brands_name' => $vhelper->_vendorsession()->getBrandsName(),
        'about_business' => $vhelper->_vendorsession()->getAboutBusiness(),
        'seller_trade' => $vhelper->_vendorsession()->getSellerTrade(),
        'seller_primary_category' => $vhelper->_vendorsession()->getSellerPrimaryCategory(),
        'seller_unique_product_count' => $vhelper->_vendorsession()->getSellerUniqueProductCount(),
        'seller_unique_sku_depth' => $vhelper->_vendorsession()->getSellerUniqueSkuDepth(),
        'seller_primary_client_type' => $vhelper->_vendorsession()->getSellerPrimarClientType(),
        'company_website' => $vhelper->_vendorsession()->getCompanyWebsite(),
        'seller_city' => $vhelper->_vendorsession()->getSellerCity()
);

$write->query( $query, $binds );

$lastInsertId = $write->lastInsertId();
echo $lastInsertId; 

Please comment here if you have any doubt.

Upvotes: 1

Related Questions