alexmestre 0 Posted March 20, 2011 Report Share Posted March 20, 2011 olá malta estou tento um problemazinho no php eu tenho isto: $data_post = date("d/m/Y"); que guarda na variavel $data_post a data mas quando faço o sql para inserir na base de dados nao insere aparece os campos em branco o sql é este $sql = "INSERT INTO filmes (titulo, genero, data_post, sinopse, ano, link, imagem) VALUES ('$titulo', '$genero', '$data_post', '$sinopse', '$ano', '$link', '$ficheiro')"; agradeço a ajuda e a atensao prestada cumps Link to post Share on other sites
fabiomiguel3 2 Posted March 20, 2011 Report Share Posted March 20, 2011 tira o $ do sql e ja deve funcionar. Aconselho te mesmo assim a usar antes o mysql_query() em vez do sql http://pt2.php.net/manual/en/function.mysql-query.php Blog Link to post Share on other sites
KTachyon 276 Posted March 20, 2011 Report Share Posted March 20, 2011 tira o $ do sql e ja deve funcionar. Aconselho te mesmo assim a usar antes o mysql_query() em vez do sql http://pt2.php.net/manual/en/function.mysql-query.php Penso que ele estará a fazer: mysql_query($sql); Relativamente à dúvida, faz um print do $sql: echo "<p>".$sql."</p>"; “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” -- Tony Hoare Link to post Share on other sites
alexmestre 0 Posted March 20, 2011 Author Report Share Posted March 20, 2011 exactamente KTachyon eu tou a fazer isto if(empty($retorno)){ //cria uma query Mysql $sql = "INSERT INTO filmes (titulo, genero, data_post, sinopse, ano, link, imagem) VALUES ('$titulo', '$genero', '$data_post', '$sinopse', '$ano', '$link', '$ficheiro')"; $query = mysql_query($sql); if($query === true){ $sucesso = '<span class="yes">A pagina ira ser redirecionada em poucos segundos, Obrigado!</span>'; echo $sucesso; }else{ $retorno = '<span class="no">Nao foi possivel inserir o filme, Tente novamente!</span>'; } }else{ echo $retorno; } Link to post Share on other sites
alexmestre 0 Posted March 20, 2011 Author Report Share Posted March 20, 2011 fiz o print apos o $sql e aparece me os dados e a data certa INSERT INTO filmes (titulo, genero, data_post, sinopse, ano, link, imagem) VALUES ('mundfo', 'bifub', '20/03/2011', 'ksvdb', '1231', 'bskdvbadkva', 'uploads/1300636666.png') e no campo ano também não me aparece Link to post Share on other sites
KTachyon 276 Posted March 20, 2011 Report Share Posted March 20, 2011 lool acho que não. Penso que fui explicito usar mysql_query em vez do sql Hmm? Não percebi. O que eu estava a dizer é que ele só estava a mostrar a variável que tinha a query ($sql), não a função para executar a query na base de dados. Daí que assumi que ele estava a utilizar a função logo a seguir à query (que já tá confirmado ). Até porque nem tenho conhecimento de nenhuma função, de nome sql. Tenta, em vez de '$data_post', colocar: ... , TO_DATE('$data_post', 'DD/MM/YYYY'),... EDIT: Se ano é um valor numérico, não deves ter as ' '. “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” -- Tony Hoare Link to post Share on other sites
alexmestre 0 Posted March 20, 2011 Author Report Share Posted March 20, 2011 nao da com isso o sql nao funciona nem aparece mensagem de erro nao entendo Link to post Share on other sites
fabiomiguel3 2 Posted March 20, 2011 Report Share Posted March 20, 2011 se usares sql funciona na mesma. deverias ter feito isto sql = "INSERT INTO filmes (titulo, genero, data_post, sinopse, ano, link, imagem) VALUES ('$titulo', '$genero', '$data_post', '$sinopse', '$ano', '$link', '$ficheiro')"; quando eu te aconselhei a usar o mysql_query deverias ter feito isto mysql_query("INSERT INTO filmes (titulo, genero, data_post, sinopse, ano, link, imagem) VALUES ('$titulo', '$genero', '$data_post', '$sinopse', '$ano', '$link', '$ficheiro')"); Agora para verificar se a query foi bem sucedida ou não: mysql_query("INSERT INTO filmes (titulo, genero, data_post, sinopse, ano, link, imagem) VALUES ('$titulo', '$genero', '$data_post', '$sinopse', '$ano', '$link', '$ficheiro')") or die('Não foi possível inserir o filme'); echo "inserido com sucesso"; Blog Link to post Share on other sites
alexmestre 0 Posted March 20, 2011 Author Report Share Posted March 20, 2011 ele insere me o filme mas continua sem aparecer a data e o ano Link to post Share on other sites
fabiomiguel3 2 Posted March 20, 2011 Report Share Posted March 20, 2011 onde tem $data_post põe .$data_post. a ver se dá assim: mysql_query("INSERT INTO filmes (titulo, genero, data_post, sinopse, ano, link, imagem) VALUES ('$titulo', '$genero', '.$data_post.', '$sinopse', '$ano', '$link', '$ficheiro')") or die('Não foi possível inserir o filme'); Blog Link to post Share on other sites
alexmestre 0 Posted March 20, 2011 Author Report Share Posted March 20, 2011 agora diz assim if(empty($retorno)){ //cria uma query Mysql $query = mysql_query("INSERT INTO filmes (titulo, genero, data_post, sinopse, ano, link, imagem) VALUES ('$titulo', '$genero', '$data_post', '$sinopse', '$ano', '$link', '$ficheiro')") or die('<span class="no">Não foi possível inserir o filme</span>'); if($query === true){ $sucesso = '<span class="yes">A pagina ira ser redirecionada em poucos segundos, Obrigado!</span>'; echo $sucesso; } }else{ echo $retorno; } e ja aparece o ano mas nao a data Link to post Share on other sites
fabiomiguel3 2 Posted March 20, 2011 Report Share Posted March 20, 2011 agora diz assim if(empty($retorno)){ //cria uma query Mysql $query = mysql_query("INSERT INTO filmes (titulo, genero, data_post, sinopse, ano, link, imagem) VALUES ('$titulo', '$genero', '$data_post', '$sinopse', '$ano', '$link', '$ficheiro')") or die('<span class="no">Não foi possível inserir o filme</span>'); if($query === true){ $sucesso = '<span class="yes">A pagina ira ser redirecionada em poucos segundos, Obrigado!</span>'; echo $sucesso; } }else{ echo $retorno; } e ja aparece o ano mas nao a data Tu aí já não precisas do if query === true porque o die para o script e so executa o resto se for true Blog Link to post Share on other sites
alexmestre 0 Posted March 20, 2011 Author Report Share Posted March 20, 2011 mas continua a nao aparecer a data Link to post Share on other sites
alexmestre 0 Posted March 20, 2011 Author Report Share Posted March 20, 2011 nao nem assim Link to post Share on other sites
fabiomiguel3 2 Posted March 20, 2011 Report Share Posted March 20, 2011 tenta assim $data_post = date("Y-m-d"); Blog Link to post Share on other sites
alexmestre 0 Posted March 20, 2011 Author Report Share Posted March 20, 2011 ja deu Link to post Share on other sites
alexmestre 0 Posted March 20, 2011 Author Report Share Posted March 20, 2011 muito obrigado Link to post Share on other sites
fabiomiguel3 2 Posted March 20, 2011 Report Share Posted March 20, 2011 tenta so este a ver se dá agora $data_post = date("Y\/m\/d"); Blog Link to post Share on other sites
alexmestre 0 Posted March 20, 2011 Author Report Share Posted March 20, 2011 sim tambem deu Link to post Share on other sites
KTachyon 276 Posted March 20, 2011 Report Share Posted March 20, 2011 Ó fábio, tanta besteira. Para verificar se a transacção foi bem sucedida tens que verificar a variável que é retornada pela função mysql_query(), ou ver o resultado da função mysql_error(). Não é só fazer um echo. E, só utilizas os '.' para concatenar strings. Como a string é iniciada por " e não por ', não necessitas de colocar . naquela zona. No máximo podes fazer: "INSERT INTO filmes (titulo, genero, data_post, sinopse, ano, link, imagem) VALUES ('$titulo', '$genero', '".$data_post."', '$sinopse', '$ano', '$link', '$ficheiro')" E não percebo porque é que decides colocar a query toda dentro do mysql_query() em vez de a deixares na variável e chamares a função com a variável como argumento: $result = mysql_query($sql); “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” -- Tony Hoare Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now