Estou passando uma tabela do Excel para o MySQL, nela estou usando dois metodos: Um para zerar o banco (Deletar todos os registros), que deve ser executada primeiro; e outra para enviar os dados. O problema é que a query de deletar está sendo executada várias vezes, e não está deixando inserir os dados no banco.
public function conectarBanco($referencia, $nome, $descricao, $departamento, $tipo, $marca, $genero, $sku, $cor, $tamanho, $codigoBarras, $altura, $largura, $comprimento, $peso, $valorUnitario, $estoque, $primeiraImagem, $segundaImagem, $terceiraImagem)
{
// Receber dados de conexão
$servername = servername;
$dbname = db;
$username = username;
$password = password;
$insert = "INSERT INTO produtos(referencia, nome, descricao, departamento, tipo, marca, genero, sku, cor, tamanho, codigoBarras, altura, largura, comprimento, peso, valorUnitario, estoque, primeiraImagem, segundaImagem, terceiraImagem) VALUES ('" . html_entity_decode($referencia) . "', '" . html_entity_decode($nome) . "', '" . html_entity_decode($descricao) . "', '" . html_entity_decode($departamento) . "', '" . html_entity_decode($tipo) . "', '" . html_entity_decode($marca) . "','" . html_entity_decode($genero) . "', '" . html_entity_decode($sku) . "', '" . html_entity_decode($cor) . "', '" . $tamanho . "', '" . html_entity_decode($codigoBarras) . "', '" . $altura . "', '" . $largura . "', '" . $comprimento . "', '" . $peso . "', '" . $valorUnitario . "', '" . $estoque . "', '" . html_entity_decode($primeiraImagem) . "', '" . html_entity_decode($segundaImagem) . "', '" . html_entity_decode($terceiraImagem) . "')";
Para enviar para o banco:
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname; charset=UTF8", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// COMANDOS $SQL = Insert // $update = Atualiza os dados já existentes
$conn->exec($insert);
} catch (PDOException $e) {
echo("Erro de Conectividade. Verifique dados de conexão");
}
$conn = null;
}
Para deletar do Banco:
public function deletarBanco()
{
$servername = servername;
$dbname = db;
$username = username;
$password = password;
$delete = "DELETE FROM produtos WHERE id > 0";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname; charset=UTF8", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// COMANDOS $SQL = Insert // $update = Atualiza os dados já existentes
} catch (PDOException $e) {
echo("Erro de Conectividade. Verifique dados de conexão");
}
}
No outo script, estou chamando as funções dessa forma:
$deletar = new upload();
$deletar->deletarBanco();
$testes = new upload();
$testes->conectarBanco($referencia, $nome, $descricao, $departamento, $tipo, $marca, $genero, $sku, $cor, $tamanho, $codigoBarras, $altura, $largura, $comprimento, $peso, $valorUnitario, $estoque, $primeiraImagem, $segundaImagem, $terceiraImagem);