PHP包含多个文件正在尝试合并SQL查询

时间:2013-07-25 09:48:37

标签: php mysql

我有一个网页,每20秒自动刷新一次,以检查新的电子邮件和其他一些内容。

一个文件automate.php有大约6个文件<?php include ... ?>

在包含的所有6个文件中,它们都运行SQL查询,但如果两个文件通过automate.php文件运行,有时它们会尝试一起运行。

例如,如果include1.phpinclude2.php同时运行查询

include1.php:
($sql="QUERY HERE";)

include2.php:
($sql="QUERY HERE";)

他们都是$sql所以他们不知道差异。

阻止这种情况发生的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

它们同时运行并不是问题(在这种情况下我不确定它们是这样做的。)

如果你的网站有一个表格,每次填写时都会将一些信息输入到数据库中,如果有两个人在同一时间填写表格会破坏网站吗?

编辑:如果我误解了这个并且您实际上意味着查询2正在使用存储在第一个$ sql中的查询,那么它不会因为您为第二个查询重新定义它而重新定义它查询3/4/5等IE:

//query 1
$sql = 'SELECT * FROM `test`'; 
//rest of query 

//query 2    
$sql = 'SELECT count(*) FROM `test2`;

// $ sql不再='SELECT * FROM test',因为您刚刚将其重新定义为'SELECT count(*)FROM test2;

答案 1 :(得分:0)

这就是我的方式:

  1. 将您的包含转换为类(模型)

    class Model1 {
        function getBlah($param) {
            // Do sql here.
        }
    
        // other functions here.
    }
    
  2. 然后按照您想要的顺序从每个类调用SQL方法。

    $obj = new Model1();
    echo $obj->getBlah('Horse');