PDO при выполнении запроса вставляет больше строк в мою базу данных, чем должно

Я сделал небольшой скрипт, и теперь, когда я вызываю скрипт, PDO должен вставлять строку 1 раз, а не дважды со значением, которое не установлено.

Это первый код

function checkContent($content, $lang){
preg_match_all("/\[([^\]]*)\]/", $content, $matches);

$items = array();
foreach($matches[1] as $match){
$items[] = explode("|", $match);
}
foreach($items as $item):
$module = $item[0];
$slug = $item[1];
switch($module){
case "translation";
$content = str_replace("[{$module}|{$slug}]", translation($slug, $lang), $content);
break;
}
endforeach;
return $content;
}

В этом коде выше он вызывает функцию translation ();

function translation($trans, $langTag){
global $cms_db;

$sql = $cms_db->prepare("SELECT translation FROM translations WHERE uniqueName = ? AND language = ?");
$sql->execute(array($trans,$langTag));
$translation = $sql->fetch(PDO::FETCH_ASSOC);

if(empty($translation)):
$sql = $cms_db->prepare("INSERT INTO translations (uniqueName, translation, language, new) VALUES (?,?,?,?)");
$sql->execute(array($trans,$trans,$langTag,'1'));
//EDIT, even with a die here, it enters 2 rows.
//die()
return $trans;
else:
return $translation['translation'];
endif;
}

В этом коде следует ввести 1 строку в базе данных со значениями.

$trans = "button.next";
$langTag = "NL";

Даже если я использую die () в функции или нет, она вставит две строки, одну со значениями good, а вторую переменную $ langTag случайным образом изменят на: favicon.ico.

Самое странное, что я нигде не использую favicon.ico в своем коде.

Я надеюсь, что вы, ребята, можете мне помочь, может быть, я не очень хорошо выгляжу, но я немного расстроен этим

Заранее спасибо!

РЕДАКТИРОВАТЬ, НЕ ИСПРАВЛЕНО
Проблема была в том, что я забыл мета-тег favicon. Теперь он работает нормально, кто-то может объяснить мне, почему значок отправляется в мой сценарий в параметре? Lang = XXX?

РЕДАКТИРОВАТЬ 2
Жаль, я думал, что это исправлено, но сегодня я снова получил значения в своей базе данных. Это действительно разочаровано тем, что это помещает случайную вещь в мою базу данных

Через некоторое время злой кодировки: P

Я думаю, что я наконец исправил это, я думаю, что это была проблема, что я включил некоторые js / css, которые не были необходимы, и это также загружало мой скрипт.

1

Решение

Попробуйте отследить количество обращений к скрипту за запрос записи в файл журнала (не забывайте flock () it).

Очевидно, что ваш сценарий вызывается дважды по какой-то причине, вам также следует проанализировать журналы доступа http-сервера.

-1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector