Здравствуйте. Помогите разобраться, почему при добавлении ЛЮБОЙ записи (и UPDATE, и INSERT) счетчики добавляют +2, а должны +1. Кроме того, в последнее поле c CONCAT также добавляется две "записи" (два нуля или две единицы). А должна одна.
try
{
ConnectToDBCollector(); //Подключение к БД collector
$stmt = $pdo->prepare("SELECT id FROM `table` WHERE `query` = '$search' LIMIT 1");
$stmt->execute();
$thisArray = $stmt->fetchAll();
if(count($thisArray) > 0)
{
$stmt = $pdo->prepare("UPDATE `table` SET `quantity` = `quantity` + 1, `yes_no` = CONCAT('$doesItFind | ', `yes_no`) WHERE `query` = '{$search}' LIMIT 1");
}
else
{
$stmt = $pdo->prepare("INSERT INTO `table` (`query`,`quantity`,`yes_no`) VALUES ('{$search}', 1, '{$doesItFind}')");
}
$stmt->execute();
}
catch (PDOException $e)
{
die('Error: ' . $e->getMessage());
}
---
Не могу понять, почему код выполняется два раза, вместо одного.
Выглядит это так:
Добавление в пустую БД первой записи в первый раз:
https://yadi.sk/i/seHOhqNQ3M8HXN
Видно, что выполняются оба запроса почему-то...
А вот так выглядит результат после повторного добавления этих же данных:
https://yadi.sk/i/YfXsT0Uz3M8HuY
Видно, что вместо тройки, везде четверки сразу.
20 раз перепроверил код, так и не понял, где ошибка. Код же примитивный совсем.