Autor Tópico: Erro no sql (RESOLVIDO)  (Lida 477 vezes)

engedata

  • Iniciante
  • **
  • Mensagens: 51
    • Email
Erro no sql (RESOLVIDO)
« Online: Julho 02, 2015, 02:05:58 pm »
Pessoal,
Não sei porque isso acontece, mas aparece na instrução sql a sequencia de 1 a 12 no lugar dos campos. Favor, gostaria de ajuda.


(mysqlt): INSERT INTO leitura (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12) VALUES (l_instalacao = '3000630548', l_reg = 03, l_razao = '01', l_ul = '01194706', L06 = 19194, O06 = '100', LE06 = 'RD1', codigo_consiste = '1', f1 = 'S', VER = 'S', l_adm = 'TO', l_contrato = 'RC5', CE06 = 18983) 
1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12) VALUES (l_instalacao = '3000630548', l' at line 1
      ADOConnection._Execute(INSERT INTO leitura (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12) VALUES (l_instalacao = '3000630548', l_reg = 03, l_razao = '01', ..., false) % line 1085, file: adodb.inc.php
   ADOConnection.Execute(INSERT INTO leitura (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12) VALUES (l_instalacao = '3000630548', l_reg = 03, l_razao = '01', ...) % line 1794, file: atualiza_leitura_apl.php
atualiza_leitura_apl.Valida_campos(null, null, null) % line  957, file: atualiza_leitura_apl.php
atualiza_leitura_apl.controle() % line 1515, file: index.php

========================================================================
A instrução é essa:

//INSERE os registros na tabela LEITURA

                        $insert_tableL  = 'leitura';
                        $insert_fieldsL = array(
                            "l_instalacao = '$instal'",
                            "l_reg = $reg",
                            "l_razao = '".substr($ul,0,2)."'",
                            "l_ul = '$ul'",
                            "L".$ati." = $leit",
                            "O".$ati." = '$oc'",
                            "LE".$ati." = '$matricula'",
                            "codigo_consiste = '1'",
                            "f1 = 'S'",
                            "VER = 'S'",
                            "l_adm = '{padm}'",
                            "l_contrato = '[pcontrato]'",
                            "CE".$ati." = $anterior",

                         );

                        // Insert record
                        $insert_sql = 'INSERT INTO ' . $insert_tableL
                           . ' ('   . implode(', ', array_keys($insert_fieldsL))   . ')'
                           . ' VALUES ('    . implode(', ', array_values($insert_fieldsL)) . ')';

                        sc_exec_sql($insert_sql);      
« Última modificação: Julho 17, 2015, 02:30:25 pm por engedata »

Rodrigo Goulart Padovezzi

  • Expert
  • *****
  • Mensagens: 1045
    • Email
Re:Erro no sql
« Responder #1 Online: Julho 02, 2015, 02:17:17 pm »
Mude o seu insert para o método convêncional
$insert_sql = "insert into tabela (campo1,campo2,campo3) values ('valor-campo1','valor-campo2','valor-campo3')";
sc_exec_sql($insert_sql);   

engedata

  • Iniciante
  • **
  • Mensagens: 51
    • Email
Re:Erro no sql (resolvido)
« Responder #2 Online: Julho 02, 2015, 04:01:14 pm »
Obrigado. Dessa forma realmente resolve.
Mas lembrando que da maneira fornecida pelo SC funciona em outras situações, não entendi porque dessa vez não.