[Resolvido] Inserindo registro duplicado no while do PHP
Estou implantando um sistema, onde o cliente, depois de comprar uma quantidade de créditos, é inserido em sua conta no banco de dados.
Mas estou tendo um problema de duplicação de créditos no meu script PHP.
<?php
header('Access-Control-Allow-Origin: *');
include '../../init.php';
$sql = "SELECT *, compras.id_usuario AS id_user_compra, compras.id AS id_compra FROM compras LEFT JOIN creditos ON creditos.id_usuario = compras.id_usuario WHERE compras.entregue = 'nao' AND compras.payment_status = 'Completed'";
$query = $mysqli->query($sql);
while ($ln = $query->fetch_array()){
$id_usuario = $ln['id_user_compra'];
$id_compra = $ln['id_compra'];
$creditos = preg_replace("/[^0-9\s]/", "", $ln['item_name']);
$sql_up = "UPDATE compras SET entregue = 'sim' WHERE id = '$id_compra'";
$query_up = $mysqli->query($sql_up);
$sql_ins = "INSERT INTO creditos (id_usuario, credito, debito) VALUES ('$id_usuario', '$creditos', '0')";
$query_ins = $mysqli->query($sql_ins);
}
?>
Nessa minha consulta acima, ele verifica as compras feitas, com as determinadas condições, mas mesmo assim,** às vezes**, ele insere uma compra 2 ou 3 vezes na tabela créditos. Estou usando o Trabalho CRON, de 5 em 5 minutos para rodar o script.
Como posso corrigir esse problema?
Desde já agradeço!Discussão (1)
Carregando comentários...