Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Dae pessoal...
Tah dando pau aki no update pro mysql, e eu não toh axando o erro..
CÓDIGO DO UPDATE
$siglas = array("am","ac","al","ap","ba","ce","es","go","ma","mg","ms","mt","pa","pb","pe","pi","pr","rj","rn","ro","rr","rs","sc","se","sp","to");
for($a = 0; $a < count($siglas); $a++)
{
$auxiliar[] = " $siglas[$a]='{$$siglas[$a]}', $siglas[$a]_fonte=''";
}
$sql_estados = "UPDATE base_estados SET";
if (count($auxiliar)) { $sql_estados .= ''. join(', ', $auxiliar); }
$sql_estados.= " WHERE id='$id'";
$update_estados = mysql_query($sql_estados);
if($update_estados){ echo "<h3>ESTADOS EDITADOS com sucesso! $update_estados</h3>"; }
else { echo "<h3>Erro no EDITAR ESTADOS! $sql_estados</h3>"; }
IMPRESSÃO APÓS UPDATE
Erro no EDITAR ESTADOS!
UPDATE base_estados SET am='sim', am_fonte='', ac='sim', ac_fonte='', al='', al_fonte='', ap='', ap_fonte='', ba='sim', ba_fonte='', ce='', ce_fonte='', es='', es_fonte='', go='sim', go_fonte='', ma='', ma_fonte='', mg='', mg_fonte='', ms='sim', ms_fonte='', mt='sim', mt_fonte='', pa='sim', pa_fonte='', pb='', pb_fonte='', pe='', pe_fonte='', pi='', pi_fonte='', pr='', pr_fonte='', rj='', rj_fonte='', rn='', rn_fonte='', ro='sim', ro_fonte='', rr='sim', rr_fonte='', rs='', rs_fonte='', sc='sim', sc_fonte='', se='', se_fonte='', sp='sim', sp_fonte='', to='sim', to_fonte='' WHERE id='3'
E por fim, não grava no DB... e os campos estão certos...
????
Flw
ñ atualiza.. desculpa...
Agora coloquei (mysql_error())e ele deu a seguinte mensagemYou have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'to='', to_fonte='' WHERE id='2'' at line 1alguém jah viu algo assim? flw
Faça um teste, retire esse último registro que você está passando ('to='', to_fonte='') e veja o que ocorre. B)
Daí funciona...Só que eu preciso deste campo com este nome...Achei estranho, porque os valores vem deste array:$siglas = array("am","ac","al","ap","ba","ce","es","go","ma","mg","ms","mt","pa","pb","pe","pi","pr","rj","rn","ro","rr","rs","sc","se","sp","to");e nele o "to" é apenas um na multidão... ah, e tb verifiquei no DB o nome da coluna está certa, é to também..Alguma dica?
O "to" deve ser algum atributo usado no mysql.Tente escapar essas letras ou usar os valores da tabela ASCI. B)
Bom, nem com ASCII funcionou...mudei o nome do campo na tabela... agora eh contornar os efeitos colaterais :( Flw
Com outro nome resolveu?
aham.. mudei de to para toc... e funcionou... não achei nada de "to" referente ao SQL tb
Deve ser uma palavra proibida no sql ou coisas do gênero, não sei ao certo.Igual que "or", usá-la algumas vezes dá confusão. B)
ele na grava no bd, ou nao atualiza???? abracao....