Obtendo o último ID inserido do MySQL em Yii

Eu quero mostrar o último ID de login do database em exibição> arquivo _form.php. Eu fiz o código no arquivo _form.php como esse

labelEx($model,'id'); ?> db->getLastInsertId('Form');?> error($model,'id'); ?>

Aqui o formulário é a tabela eo nome do modelo. Mas ainda estou obtendo ID:0 Onde há a parte errada?

A resposta de Pekka é boa para o comum . Mas se você quer fazer essa ação no Yii Framework , experimente isso:

 $myModel = new $model; $model -> savel(false); echo $model->primaryKey; // Prints the last id. 

Ou você pode tentar isso também para solução geral:

 Yii::app()->db->getLastInsertID(); 

Finalmente, sugiro que você verifique isso

Todas as funções last_insert_id (sejam eles wrappers do PHP ou o mySQL nativo) geralmente se referem à última ID criada usando a conexão de database atual. O último login provavelmente não foi criado durante o mesmo pedido em que você está mostrando a tabela, então esse método não funcionará para você.

Use um SELECT normal para descobrir o novo login em vez disso – por exemplo, usando ORDER by creationtime DESC LIMIT 1 .

Relacionado: Como obter um valor de campo mais alto em uma tabela no MySQL?

 $max = Yii::app()->db->createCommand()->select('max(id) as max')->from('TABLENAME')->queryScalar(); 

Basta adicionar um para obter o próximo.