我有一个网页,每20秒自动刷新一次,以检查新的电子邮件和其他一些内容。
一个文件automate.php有大约6个文件<?php include ... ?>
。
在包含的所有6个文件中,它们都运行SQL查询,但如果两个文件通过automate.php文件运行,有时它们会尝试一起运行。
例如,如果include1.php
和include2.php
同时运行查询
include1.php:
($sql="QUERY HERE";)
include2.php:
($sql="QUERY HERE";)
他们都是$sql
所以他们不知道差异。
阻止这种情况发生的最佳方法是什么?
答案 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)
这就是我的方式:
将您的包含转换为类(模型)
class Model1 {
function getBlah($param) {
// Do sql here.
}
// other functions here.
}
然后按照您想要的顺序从每个类调用SQL方法。
$obj = new Model1();
echo $obj->getBlah('Horse');