За последние 24 часа нас посетили 16680 программистов и 1651 робот. Сейчас ищут 1779 программистов ...

Задваивает запрос при добавлении в БД

Тема в разделе "PHP и базы данных", создана пользователем Druid, 18 авг 2017.

  1. Druid

    Druid Активный пользователь

    С нами с:
    11 окт 2010
    Сообщения:
    3
    Симпатии:
    0
    Здравствуйте. Помогите разобраться, почему при добавлении ЛЮБОЙ записи (и UPDATE, и INSERT) счетчики добавляют +2, а должны +1. Кроме того, в последнее поле c CONCAT также добавляется две "записи" (два нуля или две единицы). А должна одна.
    Код:

    PHP:
    1. try
    2. {
    3.     ConnectToDBCollector(); //Подключение к БД collector
    4.     $stmt = $pdo->prepare("SELECT id FROM `table` WHERE `query` = '$search' LIMIT 1");
    5.     $stmt->execute();
    6.     $thisArray = $stmt->fetchAll();
    7.     if(count($thisArray) > 0)
    8.     {
    9.         $stmt = $pdo->prepare("UPDATE `table` SET `quantity` = `quantity` + 1, `yes_no` = CONCAT('$doesItFind | ', `yes_no`) WHERE `query` = '{$search}' LIMIT 1");
    10.     }
    11.     else
    12.     {
    13.         $stmt = $pdo->prepare("INSERT INTO `table` (`query`,`quantity`,`yes_no`) VALUES ('{$search}', 1, '{$doesItFind}')");
    14.     }
    15.     $stmt->execute();
    16. }
    17. catch (PDOException $e)
    18. {
    19.     die('Error: ' . $e->getMessage());
    20. }
    ---
    Не могу понять, почему код выполняется два раза, вместо одного.
    Выглядит это так:
    Добавление в пустую БД первой записи в первый раз: https://yadi.sk/i/seHOhqNQ3M8HXN
    Видно, что выполняются оба запроса почему-то...
    А вот так выглядит результат после повторного добавления этих же данных: https://yadi.sk/i/YfXsT0Uz3M8HuY
    Видно, что вместо тройки, везде четверки сразу.
    20 раз перепроверил код, так и не понял, где ошибка. Код же примитивный совсем, аж стыдно как-то :)
    Либо есть какой-то секрет, про который я не знаю. Может count() как-то не так отрабатывает. Есть нюансы?
     
  2. Druid

    Druid Активный пользователь

    С нами с:
    11 окт 2010
    Сообщения:
    3
    Симпатии:
    0