php - PDO 执行查询在我的数据库中插入更多行,然后它应该

标签 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);
  }
  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 的问题,这也加载了我的脚本。

最佳答案

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

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

关于php - PDO 执行查询在我的数据库中插入更多行,然后它应该,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35162972/

相关文章:

php - 如何使用xpath和domdocument截断<div>中的一部分html并将其存储为html字符串?

php - CakePhp 中的 unbindModel 调用。它是如何工作的?

php - Javascript post 到 PHP 并返回一个数组?

php - MySQL选择匹配的id,输出到json

javascript - 使用 JQuery、Ajax 和 PHP 将数据填充到表中

php - Laravel mysql json 数据选择

mysql - SQL 限制组合集

php - 将多数组从模型传递到 Controller

sql-server - PDO DBLIB 多字节(中文)字符编码 - SQL Server

php - Pdo select 查询以不适当的方式返回列值(unicode 问题)