Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

xhpotterx

Query com variavel não aceita -

Recommended Posts

xhpotterx

Boas pessoal tenho uma query onde faz a criação de uma tabela com as colunas.

$query = "CREATE TABLE ['$ProjPais'] (IdLang int NOT NULL AUTO_INCREMENT ,Lang CHAR(30),Pais CHAR(30),PRIMARY KEY (IdLang));";
mysql_query($query) or die('Query "' . $query . '" failed: ' . mysql_error());
header('Location:content.php');

Mas quando a variavel guarda um valor tipo pt-PT não cria a tabela e mostra me a query no form

Cumpz

Share this post


Link to post
Share on other sites
joaocasta

Boas. 1º identa o codigo. [ CODE = PHP] code code code [/code] Tenta assim:

$query = mysql_query("CREATE TABLE `$ProjPais`(
IdLang INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(IdLang),
Lang CHAR(30),
Pais CHAR(30))")  or die('Query "' . $query . '" failed: ' . mysql_error());
header("Location: content.php");

Vê se isto te ajuda.

Cumps.

Edited by joaocasta
  • Vote 1

Share this post


Link to post
Share on other sites
xhpotterx

O código de criar a tabela e isso ja esta mas a query de apagar uma tabela ainda me esta a dar erro por causa do - .

$query = mysql_query('DROP TABLE IF EXISTS `projetos`.`$ProjPais`') or die(mysql_error());

Share this post


Link to post
Share on other sites
pikax

Usem a estencao do mysqli*, e' mais segura do que o mysql* que ja' esta' desactualizado e fora de desenvolvimento...


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Share this post


Link to post
Share on other sites
joaocasta

Sim é verdade pikax. Eu agora estou a usar PDO, mas como ela estava a usar mysql deixei estar.

projetos é a base de dados?

faz assim:

$query = mysql_query('DROP TABLE IF EXISTS $ProjPais') or die(mysql_error());

Share this post


Link to post
Share on other sites
xhpotterx

JoaoCasta obrigadão ja esta a funcionar ja so me falta fazer o update para o botao editar e fica pronto.

Share this post


Link to post
Share on other sites
xhpotterx

Tipo num botão editar tenho que lhe fazer o update , mas como fasso o update se tipo alterar todo o texto dos campos da tabela?

Share this post


Link to post
Share on other sites
joaocasta

Não te percebi. Estás a dizer que queres fazer update a tudo ou só a certos campos?

Share this post


Link to post
Share on other sites
xhpotterx

Tipo a tabela tem 5 campos e eu quero fazer o update a 4 campos mas esse unico campo que nao leva update e o id mas que não e mostrado nor form.

Como fasso?

Share this post


Link to post
Share on other sites
pikax

e' um update normal....

UPDATE login SET username = '$name', passw = '$sPass' WHERE id = $id


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Share this post


Link to post
Share on other sites
xhpotterx

Aparece este erro:

Query "UPDATE tbLang SET Lang=Portu, Pais=Port, SiglaLang=pt-PTT;" failed: Unknown column 'Portu' in 'field list'

Minha Query:

$id=$_POST['id'];
$query = mysql_query("UPDATE tbLang SET Lang = '$Lang', SiglaLang = '$SiglaLang', Pais='$Pais' WHERE id = $id") or die(mysql_error());

Edited by xhpotterx

Share this post


Link to post
Share on other sites
pikax

o erro que te esta' a dar e' devido o sql pensar que o Portu e' um campo da coluna em vez de uma string, para isso falta-te as plicas(').

O erro que da' e' da query que postaste?


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Share this post


Link to post
Share on other sites
HappyHippyHippo

tenho sérias dúvidas que o SQL criado com o PHP amostrado resulta numa mensagem de erro dessas ...

testa novamente (lembra-te de gravar o ficheiro) e diz alguma coisa


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
pikax

porque que nao comecas a ganhar umas boas praticas de seguranca, entre outros. E comecas a usar o mysqli*, com os Prepared statement


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Share this post


Link to post
Share on other sites
xhpotterx

Topico Resolvido.

Não me aparece o botão de marca como resolvido :0

Edited by xhpotterx

Share this post


Link to post
Share on other sites
pikax

podes submeter a tua solucao, para caso alguem futuramente tenha uma duvida parecida com a tua, ficar mais esclarecido.

Edited by pikax

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Share this post


Link to post
Share on other sites
xhpotterx

A solução é a do João Casta.

$query = mysql_query("CREATE TABLE `$ProjPais`(

IdLang INT NOT NULL AUTO_INCREMENT,

PRIMARY KEY(IdLang),

Lang CHAR(30),

Pais CHAR(30))") or die('Query "' . $query . '" failed: ' . mysql_error());

header("Location: content.php");

Share this post


Link to post
Share on other sites
HappyHippyHippo

dizes que tens este erro:

Aparece este erro:

Query "UPDATE tbLang SET Lang=Portu, Pais=Port, SiglaLang=pt-PTT;" failed: Unknown column 'Portu' in 'field list'

Minha Query:

$id=$_POST['id'];
$query = mysql_query("UPDATE tbLang SET Lang = '$Lang', SiglaLang = '$SiglaLang', Pais='$Pais' WHERE id = $id") or die(mysql_error());

depois dizes que a solução é um SQL que não tem nada haver ???

A solução é a do João Casta.

$query = mysql_query("CREATE TABLE `$ProjPais`(
IdLang INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(IdLang),
Lang CHAR(30),
Pais CHAR(30))")  or die('Query "' . $query . '" failed: ' . mysql_error());
header("Location: content.php");

não admira que estivesse complicado ...


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
xhpotterx

Não tem nada Haver?

Cala-te man se esse código resolveu o meu problema.

Para que ia estar a mentir Nabo.|.

Share this post


Link to post
Share on other sites
HappyHippyHippo

Não tem nada Haver?

Cala-te man se esse código resolveu o meu problema.

Para que ia estar a mentir Nabo.|.

ok ... agora sou nabo ... tudo bem ...

então diz lá porque razão um query de criação de tabela resolve um query de actualização de registos "ó grande génio" ?


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
xhpotterx

O problema que eu tinha na criação era o mesmo que eu tinha no de actualização so que so percebi isso mais tarde.

E por isso que eu digo que o que ele disse resolve.

Share this post


Link to post
Share on other sites
HappyHippyHippo

pois ... e eu desconfio qual seria o erro ...

já dizia o outro : "e o burro sou eu ?"


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.