Estou tentando a semanas resolver um problema, consumir uma API e verificar se o campo no banco está vazio, se estiver faz insert se não faz update.
Até aí tudo bem, agora não consigo passar do meu select para o banco, ele da erro.
Segue o código:
<?php
require_once("db.class.php");
$url = "https://servicodados.ibge.gov.br/api/v1/localidades/distritos";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$resultado = json_decode(curl_exec($ch));
foreach ($resultado as $cidades) {
$nome = $cidades->nome;
$stmt = $conn->prepare("SELECT name FROM cidades WHERE name=?");
$stmt->bind_Param(':name', $nome);
$stmt->execute();
$stmt->bind_result($resultSelect);
$stmt->fetch();
if(!$stmt->execute()){
print_r($stmt->errorInfo());
}
}
?>
Código do banco:
$conn = new PDO("mysql:host=localhost;dbname=exercicio", "root", "");
//"sqlsrv:Database=dbphp7;server=localhost\SQLEXPRESS;ConnectionPooling=0", "sa", "root");
$stmt = $conn->prepare("SELECT * FROM cidades ORDER BY nome");
$stmt->execute();
//fetchALL basicamente faço while do mysqli
$results = $stmt->fetchALL(PDO::FETCH_ASSOC);
Print do erro:
Tenho um outro exercicio que fiz bem parecido, consumi a API de estados e inseri no banco de dados, esse funcionou normalmente.
Alguém poderia me dar uma luz, não sei mais o que fazer.
Era para ser simples rsrsrrs.