Série da semana: Primeiros passos no Angular

Veja mais

Foreach não insere no mysqli

10/12/2018

12

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
Responder

Post mais votado

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.
Responder

Mais Posts

10/12/2018

Leonardo

alguma ajuda?
Responder

11/12/2018

Leonardo

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
Responder

11/12/2018

Leonardo

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
Responder

11/12/2018

Kleber Santos

É 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.
Responder

12/12/2018

Leonardo

Eu descobri o que era amigo, o servidor tem um limite de quantas linhas uma query mysqli pode ter
Responder