Php 执行查询的PDO在我的数据库中插入了更多的行,而不是它应该插入的行
我制作了一个小脚本,现在当我调用该脚本时,PDO应该插入行1次,而不是两次,并使用未设置的值 这是第一个代码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
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";