Foreach não insere no mysqli

MySQL

PHP

XML

CSV

10/12/2018

Tenho uma lista de endereços e desejo inserir no mysqli, o codigo ficou assim
<?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 if da query MYSQLI retorna positivo porem não está inserindo
O problema não é conexão nem banco de dados
Leonardo

Leonardo

Curtidas 1

Melhor post

Kleber Santos

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.
GOSTEI 3

Mais Respostas

Leonardo

Leonardo

10/12/2018

alguma ajuda?
GOSTEI 0
Leonardo

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
GOSTEI 0
Leonardo

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
GOSTEI 0
Kleber Santos

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.
GOSTEI 0
Leonardo

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
POSTAR