MarKteus 1 Denunciar post Postado Outubro 2, 2009 O que acontece quando se tenta realizar uma conexão e abertura de um banco, qdo esse banco já está conectado e aberto. Ele é reaberto, dá erro, perde-se dados recem-gravados ? Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Outubro 2, 2009 Ele é reaberto, dá erro, perde-se dados recem-gravados ? Uma nova conexão é aberta, não da erro nem se perdem os dados recém gravados, porém você perde tempo estabelecendo a nova conexão desnecessária. Pesquise sobre Registry, para manter o registro da sua conexão na aplicação, dessa forma, em vez de reabrir a conexão, você utiliza a que já está aberta apenas recuperando o registro dela. Compartilhar este post Link para o post Compartilhar em outros sites
MarKteus 1 Denunciar post Postado Outubro 2, 2009 Duas perguntas O SELECT retorna um conjunto de dados. e o que INSERT e UPDATE retornam ? true ou false ? ou também o nome dos campos atualizados ? Como faço para guardar ou pegar o nome de um campo recém gravado ? é necessário sempre utilizar SELECT para esta finalidade ? Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Outubro 2, 2009 e o que INSERT e UPDATE retornam ? true ou false ? ou também o nome dos campos atualizados ? Se você utilizar mysql_query para fazer um insert ou update você terá um true ou false. Como faço para guardar ou pegar o nome de um campo recém gravado ? é necessário sempre utilizar SELECT para esta finalidade ? Se você acabou de gravar os dados então você já tem eles e não é necessário fazer um select para isso, agora se você quiser saber qual foi o ID do último registro inserido você pode utilizar mysql_insert_id http://br.php.net/manual/pt_BR/function.mysql-insert-id.php Compartilhar este post Link para o post Compartilhar em outros sites
MarKteus 1 Denunciar post Postado Outubro 2, 2009 Para ficar mais claro o que tá acontecendo comigo é o seguinte pego uma variavel enviada por uma pagina php da seguinte forma: <a href="pagina.php?cod=&".$codvar.">fdsfds></a> na página q recebe faço isso $CodAssBus=$_GET´['cod']; realizo uma busca com esse codigo assim: $strBuscaTop = "SELECT * FROM cadTopico INNER JOIN cadassunto on cadTopico.codAssunto = cadAssunto.cod WHERE codAssunto = '".$CodAssBus."' ORDER BY 1 DESC"; $sqlQueryTop = mysql_query($strBuscaTop); se encontrar beleza, senão gravo assim: $strGravaTop = "INSERT INTO cadTopico (codUsuario, strTitulo, codAssunto, strDescricao) VALUES ('".$_SESSION['codUsu']."','$strtitulo','$codigoAssunto','$strdescricao')"; $sqlGravaTop = mysql_query($strGravaTop); depois eu preciso atualizar essa mesma linha pq ainda só gravei o codigoAssunto e quero gravar o restante dos dados vindos de um Form qualqeur. to fazendo o seguinte: Seleciono de novo pra saber onde realizo o UPDATE dessa forma: $strBuscaCodTop = "SELECT * FROM cadTopico ORDER BY cod DESC LIMIT 0, 1"; $sqlQueryCodTop = mysql_query($strBuscaCodTop); $codigoAssunto = $sqlQueryCodTop['codassunto']; //1º problema aqui ele ñ tá trazendo o codigo gravado, verifiquei isso dando um echo $strUpdatTop = "UPDATE cadTopico set codUsuario='".$_SESSION['codUsu']."', strTitulo='$strtitulo', codassunto='$codigoAssunto', strDescricao='$strdescricao' WHERE codassunto = '$codigoAssunto'"; $sqlUpdatTop = mysql_query($strUpdatTop); e nada é gravado. o pior é q o INSERT gravou e as vezes ele até encontra o registro mas mesmo assim não grava (Atualiza). Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 2, 2009 O que está errado no seu código é que você não está fazendo nada para pegar o resultado, tipo um mysql_result, ou fetch(array, assoc, object) nesta parte. $sqlQueryCodTop = mysql_query($strBuscaCodTop); $codigoAssunto = $sqlQueryCodTop['codassunto']; E se o código for para pegar qual o id da última inserção e for no mesmo script, pode usar o mysql_insert_id. http://br.php.net/mysql_insert_id Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
MarKteus 1 Denunciar post Postado Outubro 2, 2009 O que está errado no seu código é que você não está fazendo nada para pegar o resultado, tipo um mysql_result, ou fetch(array, assoc, object) nesta parte. $sqlQueryCodTop = mysql_query($strBuscaCodTop); $codigoAssunto = $sqlQueryCodTop['codassunto']; E se o código for para pegar qual o id da última inserção e for no mesmo script, pode usar o mysql_insert_id. http://br.php.net/mysql_insert_id Carlos Eduardo Como pode se usar mysql_fetch_(array, assoc, object) sem while ? Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 2, 2009 Normalmente... sem o while... $row = mysql_fetch_assoc($query); echo $row['valor']; Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
MarKteus 1 Denunciar post Postado Outubro 3, 2009 O mysql_fetch_assoc() tbm funciona após um Update ? Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 4, 2009 Olha, é interessante que, antes de perguntar, você faça um teste. Tente fazer e veja se funciona ou não. Veja se aparece algum erro ou não. Como o assunto principal do tópico já foi solucionado, vou marcar o tópico como resolvido. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
MarKteus 1 Denunciar post Postado Outubro 4, 2009 Olha, é interessante que, antes de perguntar, você faça um teste. Tente fazer e veja se funciona ou não. Veja se aparece algum erro ou não. Como o assunto principal do tópico já foi solucionado, vou marcar o tópico como resolvido. Carlos Eduardo Na verdade fiz o teste e não deu certo então achei q poderia ser um erro meu http://forum.imasters.com.br/public/style_emoticons/default/graduated.gif Compartilhar este post Link para o post Compartilhar em outros sites