Jump to content
bpinto

[Resolvido] Inserir valores separados por virgulas num campo de MYSQL

Recommended Posts

bpinto

Boas pessoal

Estou a tentar guardar um array que estou a converter para uma string separado por virgular para um campo numa tabela de MYSQL, e quando faço o insert ele assume todo esses valores como campos seguidos.

Logo da erro no insert.

A minha questão é existe alguma forma de gravar essa string na tabela, ou existe alguma forma de gravar directamente esse array no campo da tabela?

Deixo aqui um pedaço do codigo utilizado para poderem verificar.

$dias = implode(",", $_POST['dia']);
$horario = implode(",", $_POST['horario']);
$funcoes = implode(",", $_POST['funcao_piquete']);

$sql_insert_escala = "INSERT INTO `gpaa_bvc`.`escalas` (`nid_tipo_escala`,`nid_quartel`,`nid_mes`,`nid_ano`,`dias`,`elementos`)
					 VALUES (".$tipo_escala.",".$quartel.",".$mes.",".$ano.",".$dias.",".$funcoes.")";

 if (!mysql_query($sql_insert_escala))
 {
 die('Error: '.mysql_error());
 }

Share this post


Link to post
Share on other sites
HappyHippyHippo

quando faço o insert ele assume todo esses valores como campos seguidos.

isso nem é o problema

a solução para o erro apresentado é dada com a resposta à seguinte questão : qual o delimitador de uma string em SQL ?

delimitador de string : caracter que diz que o contúdo dentro de duas ocorrências desse caracter é um elemento de dados do tipo string ou pode ser interpretado como elementos e/ou palavras reservadas do SQL


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

Share this post


Link to post
Share on other sites
bpinto

Desculpa mais uma vez, e existe forma de poder lançar directamente esse array para o campo da tabela?

Share this post


Link to post
Share on other sites
Virneto

Desculpa mais uma vez, e existe forma de poder lançar directamente esse array para o campo da tabela?

Pareceu-me que a resposta do @Happy referiu que sim e que o teu problema estava relacionado com o Delimitador de String. Ou seja, verifica como estás a utilizar as plicas ( ' ) e áspas ( " ) na tua insrução do MySql.


"Que inquieto desejo vos tortura, Seres elementares, força obscura? Em volta de que ideia gravitais?" >> Anthero de Quental

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Linuxando.com | ...

Share this post


Link to post
Share on other sites
nelsonr

Na linha antes do if, adiciona

die($sql_insert_escala);

Isso vai parar a aplicação, mostrando o conteúdo dessa variavel.

Vê se está correcto. Se tiveres duvidas, coloca aqui o que apareceu.

O mais certo, como já indicaram, é ali no valor dos campos, deves ter campos de texto que não estão delimitados

Share this post


Link to post
Share on other sites
Pivot

Se puderes faz aquilo que o nelsonr disse...

Mesmo assim, coloca aqui string que foi imprimida...

E se possível os erros também.

Abraço,

Rafael.

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

×
×
  • Create New...

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.