php - PDO - PHP 查询在没有调用的情况下再次执行

标签 php mysql pdo

对不起我的英语。 我执行了一个唯一查询 INSERT,但在数据库中创建了许多相等的记录。 我有一个带有模式单例和注册表的 php cms mvc。 当我调用 Controller 时,会加载所有核心模型,包括管理数据库的模型。

我写了一段代码:

class DB extends global_core
{
    private $PDO;
    private $result;

    public function __construct()
    {
        parent::__construct();
    }

    public function query($query)
    { 
        $this->result = $this->PDO->prepare($query);
        $this->result->execute();
        return $this->result;
    }
}

在另一个模型中运行这个方法:

class Stats extends global_core
{
    private $stored_agent = false;

    public function __construct()
    {
        parent::__construct();

        if (!$this->stored_agent) 
        $this->saveAgent();
    }

    public function saveAgent()
    {
        if ($this->stored_agent) return;

        $this->DB->query('INSERT ...');  

        echo 'ok';

        $this->stored_agent = true;
    }
}

现在在我的数据库中创建了“n”条相等的记录,但在视频中正确打印的只是“ok”而不是“okokokokokokok”。

为什么?

但是,如果我从当前 Controller 调用该方法,我正确地只得到一条新记录。

class page extends controller
{
    public function __construct()
    {
        parent::__construct();

        $this->loadInfo();
    }

    protected function loadInfo()
    {
        $this->Stats->saveAgent();
    }
}

所以它正常工作...

问题出在哪里?

最佳答案

已解决 是错误配置 url 重写的问题。 召回服务器上不存在的图像,被指控再次实例化核心的站点的错误页面...

<img src="file not present" >

关于php - PDO - PHP 查询在没有调用的情况下再次执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28209762/

相关文章:

php - 在 zend 框架中的另一个模块中查看模块的输出

mysql - 我如何找出最近 4 周的记录数?

MYSQL查询不同表相同ID

PHP/PDO : Delete image on server

PHP 反序列化 jQuery FORM 帖子

php - 无法建立连接,因为目标机器主动拒绝

php - 如何使用 orWhere 创建动态 where 子句 - Laravel 4

mysql - 大型数据库表的设计技巧?

php - mysql 语句->fetch() 在循环时失败

php - PDO::FETCH_OBJ 是否可以将 null 字段的值设置为 null,而不是保留属性未定义?