我有一个网页,每 20 秒自动刷新一次,以检查是否有新电子邮件和其他一些信息。
一个文件 automate.php 有 <?php include ... ?>
大约 6 个文件。
在包含的所有 6 个文件中,它们运行 SQL 查询,但如果两个通过 automate.php 文件同时运行,有时它们会尝试一起运行。
例如,如果 include1.php
和 include2.php
两者同时运行查询
include1.php:
($sql="QUERY HERE";)
include2.php:
($sql="QUERY HERE";)
它们都是$sql
所以他们不知道区别。
阻止这种情况发生的最佳方法是什么?
最佳答案
它们同时运行不是问题(我不确定它们在这种情况下会这样做)。
如果您的网站有一个表单,每次填写时都会将一些信息输入数据库,如果两个人同时填写表单,这会破坏网站吗?
编辑:如果我误解了这一点,而你实际上是说查询 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
;
关于PHP 包含多个文件试图合并 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17854551/