<分区>
我制作了一个小脚本,现在当我调用该脚本时,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。
我希望你们能帮助我,也许是我看起来不太好,但我对此有点沮丧
提前致谢!
编辑,不固定 问题是我忘记了 meta favicon 标签。现在它工作正常,有人可以向我解释为什么在 ?lang=XXX 参数中将 favicon 发送到我的脚本吗?
编辑 2 太糟糕了,我以为它是固定的,但今天我又在我的数据库中得到了这些值。这真的很令人沮丧,因为它在我的数据库中放入了一个随机的东西
经过一阵愤怒的编码 :P
我想我终于修复了它,我认为这是我包含了一些不必要的 js/css 的问题,这也加载了我的脚本。