Php 执行查询的PDO在我的数据库中插入了更多的行,而不是它应该插入的行

Php 执行查询的PDO在我的数据库中插入了更多的行,而不是它应该插入的行,php,mysql,pdo,execute,Php,Mysql,Pdo,Execute,我制作了一个小脚本,现在当我调用该脚本时,PDO应该插入行1次,而不是两次,并使用未设置的值 这是第一个代码 function checkContent($content, $lang){ preg_match_all("/\[([^\]]*)\]/", $content, $matches); $items = array(); foreach($matches[1] as $match){ $items[] = explode("|", $match); } f

我制作了一个小脚本,现在当我调用该脚本时,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()

在这段代码中,is应该在数据库中输入1行值

$trans = "button.next";
$langTag = "NL";
即使在函数中使用或不使用die(),它也会插入两行,一行的值为good,另一行的值$langTag随机更改为:favicon.ico

最奇怪的是,我的代码中没有使用favicon.ico

我希望你们能帮助我,也许我看起来不太好,但我对此感到有点沮丧

提前谢谢

编辑,不固定 问题是我忘记了meta favicon标签。现在它工作正常了,有人能解释为什么favicon会在?lang=XXX参数中发送到我的脚本吗

编辑2 太糟糕了,我以为它已经修复了,但今天我又在数据库中得到了值。它在我的数据库中放了一个随机的东西,这让我很沮丧

经过一段时间的愤怒编码后:p


我想我最终解决了这个问题,我想问题在于我包含了一些不必要的js/css,并且加载了我的脚本。

尝试跟踪每个请求写入日志文件的脚本调用计数(不要忘记它)


显然,由于某种原因,您的脚本被调用了两次,您也应该分析http服务器的访问日志。

您的站点还请求favicon。您可以使用Web服务器(apache或其他什么)将此请求重定向到脚本,这就是脚本运行两次的原因。检查目录或虚拟主机配置中的
.htaccess
文件。
$trans = "button.next";
$langTag = "NL";