Foreach não insere no mysqli
Tenho uma lista de endereços e desejo inserir no mysqli, o codigo ficou assim
O if da query MYSQLI retorna positivo porem não está inserindo
O problema não é conexão nem banco de dados
<?php include_once("/assets/css/conexao.php"); $arquivo = "enderecos.csv"; $objeto = fopen($arquivo, 'r'); $string = "H6eC5ppgPpMQVnLQG2PCGapAFRdHJDHzvC,0 H6iXsyJ12QYfkerEVHaCHueSPhTQgCBzfT,0 H6x9ckb9k2mbtBgbasV1P9RFVJW25cU8VG,0 H6xPDLS6TyR6vL83JojKUq7T1PJLjRddVQ,0 H7GRXQHqanWRqP6SabchuBtokFBV4psXuT,0 H7TYsUWdyMJVswxpq5NbejpbkKYoBuBuXv,0 H7dupZ3tyJDMXdVAdtG2EtpnPkSvGvNFfE,0 H7vbKJ8GNh91qdDx68VvTWiDwrFjQf754a"; // a lista é muito maior só que excedeu o limite do forum $array = explode(',0', $string); foreach($array as $valores) { $insert = "INSERT INTO enderecos(endereco, id) VALUES ('" . $valores . "', 0)"; $inserir = "mysqli_query($conn, $insert"; if($inserir = mysqli_query($conn, $insert));{ echo "$valores"; echo "<br />"; } } ?>
O problema não é conexão nem banco de dados
Leonardo
Curtidas 1
Melhor post
Kleber Santos
10/12/2018
Na linha 19 tente colocar $this->valores,
Para testar, logo abaixo da linha 19 adicione um var_dump($insert); e veja oq aparece na tela.
Para testar, logo abaixo da linha 19 adicione um var_dump($insert); e veja oq aparece na tela.
GOSTEI 3
Mais Respostas
Leonardo
10/12/2018
alguma ajuda?
GOSTEI 0
Leonardo
10/12/2018
Deu erro 500
Descobri que a query $inserir estava faltando um ) também mas continua dando erro
Da onde saiu essa variavel $this??
O resultado do var_dump de $insert e $valores dá
string(84) "INSERT INTO enderecos(endereco, id) VALUES ('H6eC5ppgPpMQVnLQG2PCGapAFRdHJDHzvC', 0)" H6eC5ppgPpMQVnLQG2PCGapAFRdHJDHzvC
string(86) "INSERT INTO enderecos(endereco, id) VALUES (' H6iXsyJ12QYfkerEVHaCHueSPhTQgCBzfT', 0)" H6iXsyJ12QYfkerEVHaCHueSPhTQgCBzfT
string(86) "INSERT INTO enderecos(endereco, id) VALUES (' H6x9ckb9k2mbtBgbasV1P9RFVJW25cU8VG', 0)" H6x9ckb9k2mbtBgbasV1P9RFVJW25cU8VG
string(86) "INSERT INTO enderecos(endereco, id) VALUES (' H6xPDLS6TyR6vL83JojKUq7T1PJLjRddVQ', 0)" H6xPDLS6TyR6vL83JojKUq7T1PJLjRddVQ
string(86) "INSERT INTO enderecos(endereco, id) VALUES (' H7GRXQHqanWRqP6SabchuBtokFBV4psXuT', 0)" H7GRXQHqanWRqP6SabchuBtokFBV4psXuT
string(86) "INSERT INTO enderecos(endereco, id) VALUES (' H7TYsUWdyMJVswxpq5NbejpbkKYoBuBuXv', 0)" H7TYsUWdyMJVswxpq5NbejpbkKYoBuBuXv
string(86) "INSERT INTO enderecos(endereco, id) VALUES (' H7dupZ3tyJDMXdVAdtG2EtpnPkSvGvNFfE', 0)" H7dupZ3tyJDMXdVAdtG2EtpnPkSvGvNFfE
Descobri que a query $inserir estava faltando um ) também mas continua dando erro
Da onde saiu essa variavel $this??
O resultado do var_dump de $insert e $valores dá
string(84) "INSERT INTO enderecos(endereco, id) VALUES ('H6eC5ppgPpMQVnLQG2PCGapAFRdHJDHzvC', 0)" H6eC5ppgPpMQVnLQG2PCGapAFRdHJDHzvC
string(86) "INSERT INTO enderecos(endereco, id) VALUES (' H6iXsyJ12QYfkerEVHaCHueSPhTQgCBzfT', 0)" H6iXsyJ12QYfkerEVHaCHueSPhTQgCBzfT
string(86) "INSERT INTO enderecos(endereco, id) VALUES (' H6x9ckb9k2mbtBgbasV1P9RFVJW25cU8VG', 0)" H6x9ckb9k2mbtBgbasV1P9RFVJW25cU8VG
string(86) "INSERT INTO enderecos(endereco, id) VALUES (' H6xPDLS6TyR6vL83JojKUq7T1PJLjRddVQ', 0)" H6xPDLS6TyR6vL83JojKUq7T1PJLjRddVQ
string(86) "INSERT INTO enderecos(endereco, id) VALUES (' H7GRXQHqanWRqP6SabchuBtokFBV4psXuT', 0)" H7GRXQHqanWRqP6SabchuBtokFBV4psXuT
string(86) "INSERT INTO enderecos(endereco, id) VALUES (' H7TYsUWdyMJVswxpq5NbejpbkKYoBuBuXv', 0)" H7TYsUWdyMJVswxpq5NbejpbkKYoBuBuXv
string(86) "INSERT INTO enderecos(endereco, id) VALUES (' H7dupZ3tyJDMXdVAdtG2EtpnPkSvGvNFfE', 0)" H7dupZ3tyJDMXdVAdtG2EtpnPkSvGvNFfE
GOSTEI 0
Leonardo
10/12/2018
Consegui achar um erro, o endereço está imprimindo com a quebra de linha por isso começando com espaço e isso não pode ocorrer
Ele está querendo salvar ' endereco' e deve salvar sempre 'endereco' pois o mysqli não aceita espaço no começo da string
Ele está querendo salvar ' endereco' e deve salvar sempre 'endereco' pois o mysqli não aceita espaço no começo da string
GOSTEI 0
Kleber Santos
10/12/2018
É esse o caminho mesmo. Teste esse insert diretamente no SGBD para ter certeza que funciona.
O mysqli é como vc falou mesmo, espaços, quebras de linha e até mesmo letras maiusculas/minusculas podem trazer erro.
$this->variavel é uma sintaxe do php.
O mysqli é como vc falou mesmo, espaços, quebras de linha e até mesmo letras maiusculas/minusculas podem trazer erro.
$this->variavel é uma sintaxe do php.
GOSTEI 0
Leonardo
10/12/2018
Eu descobri o que era amigo, o servidor tem um limite de quantas linhas uma query mysqli pode ter
GOSTEI 0