Pokouším se v PHP PDO docílit aby se záznam před vložením zkontroloval zda již existuje, ale vkládá se mi i když existuje.
Mám podezdření, že špatně přiřazuji zástupný symbol v sql dotazu. Poradil by někdo?
$InsertArray = $_POST["Insert"];
$InsertDecoded = json_decode($InsertArray, true);
.....shortened
if(isset($_POST['Insert'])){
try {
$pdo = new PDO ( $induce, $user, $password, array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
));
//FIRSTLY FIND IF EXIST/////////////////////////////////////////////////////////////
$prepared = $pdo->prepare(" SELECT * FROM kw112019 WHERE Commission = :Commission ");
//přiřazení proměných do zástupných symbolů
$prepared->bindParam(':Commission', $InsertDecoded["Commission"], PDO::PARAM_INT);
// zisk výsledků
$result = $prepared->fetch(PDO::FETCH_NUM);
if ($result > 0) {
$json_array[] = array("Letter"=>"-", "Commission"=>"JIŽ EXISTUJE", "Status"=>"-", "DeliveryDate"=>"-");
$json = json_encode($json_array);
echo $json;
}
else {
//INSERT//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$prepared = $pdo->prepare("INSERT INTO kw112019 (Letter, Commission, Status, DeliveryDate)
VALUES (:Letter, :Commission, :Status, :DeliveryDate)");
$prepared->execute([
'Commission' => $InsertDecoded["Commission"],
'Letter' => $InsertDecoded["Letter"],
'Status' => $InsertDecoded["Status"],
'DeliveryDate' => $InsertDecoded["DeliveryDate"],
]);
}