Problemas com insert

0 views
Skip to first unread message

Carlos Lima

unread,
Dec 24, 2009, 1:39:27 PM12/24/09
to php-brasil
Olá galera, é o seguinte estou tentando inserir dados na tb_pessoa e
depois pegar o id criado nessa tabela e cadastra-lo na tb_professor,
estou usando o LAST_INSERT_ID, mais não está funcionando, já olhei o
php.log mais não tem nada também. Segue abaixo o código:

function insert( $NOME_PESSOA, $TELEFONE,$MATRICULA_PG)
{
$query = mysql_query ("INSERT INTO `tb_pessoa`
(`id_pessoa` ,`nome_pessoa` ,`telefone`)VALUES (NULL , '" .
$NOME_PESSOA . "', '" .$TELEFONE. "'
);'"."INSERT INTO `tb_professor` (`id_pessoa_pg` ,`matricula_pg`)
VALUES (LAST_INSERT_ID(), '" . $MATRICULA_PG . "');");

return "Inserido com sucesso!";
}

tarsis lima

unread,
Dec 24, 2009, 4:19:40 PM12/24/09
to php-b...@googlegroups.com
não seria mysql_insert_id(); ?

tenta algo  tipo 
$sql1 = "INSERT INTO `tb_pessoa` (`id_pessoa` ,`nome_pessoa` ,`telefone`)VALUES (NULL , ' " .$NOME_PESSOA . "', '" .$TELEFONE. "' );"
           $query = mysql_query ($sql1);

if($query != false){
$ultimo_id =  mysql_insert_id();
$sql2 = "INSERT INTO `tb_professor` (`id_pessoa_pg` ,`matricula_pg`) VALUES ( $ultimo_id, '" . $MATRICULA_PG . "')";

$query = mysql_query ($sql2);
}


Da uma Googlada sobre Transactions com mysql.  Commit e Rollback  .

Carlos Lima

unread,
Dec 25, 2009, 6:00:21 PM12/25/09
to php-brasil
Opa Tarsis valew pela dica....mais não é exatamente isso que estou
precisando o que realmente quero de fato e fazer o INSERT nas duas
tabelas entende. Primeiro é inserido os dados em uma tabela e na outra
eu vou inserir o ultimo id da tabela anterior.

felipe moraes

unread,
Dec 25, 2009, 9:53:43 PM12/25/09
to php-b...@googlegroups.com
acho que nesse caso uma trigger seja mais apropriada

Rodrigo martincic

unread,
Dec 30, 2009, 12:25:12 PM12/30/09
to php-b...@googlegroups.com
Bem eu acho que o melhor seria fazer uma SP visto que com uma tigger vai ficar complexo o controle de erros.

2009/12/26 felipe moraes <feli...@gmail.com>
acho que nesse caso uma trigger seja mais apropriada

--

Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para php-brasil+...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/php-brasil?hl=pt-BR.

Reply all
Reply to author
Forward
0 new messages