Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-再次重新连接mySQL或通过POST发送上一个?_Php_Mysql_Sql_Session_Post - Fatal编程技术网

PHP-再次重新连接mySQL或通过POST发送上一个?

PHP-再次重新连接mySQL或通过POST发送上一个?,php,mysql,sql,session,post,Php,Mysql,Sql,Session,Post,我有两个网页:page1.php和page2.php 在page1.php中 执行了一个mySQL查询并保存到变量a中 在page2.php中 我想要相同查询的相同结果 我应该重新连接到mySQL并再次执行查询,还是通过POST或会话从page1.php发送变量A?什么是快速解决方案?还有其他解决办法吗 编辑:没有其他查询,因此数据不会更改。我认为如果您不是舒尔,如果数据可能已更改,请进行新的查询!执行此操作可能需要更多时间,但您可以确保数据仍然是最新的。 如果用户在另一个浏览器中重新启动pag

我有两个网页:page1.php和page2.php

在page1.php中

执行了一个mySQL查询并保存到变量a中

在page2.php中

我想要相同查询的相同结果

我应该重新连接到mySQL并再次执行查询,还是通过POST或会话从page1.php发送变量A?什么是快速解决方案?还有其他解决办法吗


编辑:没有其他查询,因此数据不会更改。我认为

如果您不是舒尔,如果数据可能已更改,请进行新的查询!执行此操作可能需要更多时间,但您可以确保数据仍然是最新的。 如果用户在另一个浏览器中重新启动page1.php,同时仍在处理page2.php,该怎么办? 因此,只有当您100%确定无法操纵任何内容,或者加载数据需要太多时间/资源时,才能重用数据


永远不要相信用户可能已更改的数据,始终确保数据仍然是您期望的数据。也许你应该考虑对数据进行某种验证。

< P>我当然不会通过POST传递它,这允许数据被恶意客户端篡改。 假设数据集不太大,会话速度会快一些,如果数据不太可能在用户会话空间中更改,那么这是一个合理的选择

了解您的查询通常需要多长时间,看看时间差是否显著,这将是非常有用的。您确实提到了结果集包含14000行。如果只是从一个表中选择,我无法想象它需要很长时间。会话中要存储的14000行实在太多了。请记住,由于会话是特定于单个用户的,因此它会在任何时刻为每个使用站点的用户存储一次数据集。如果你有很多用户,你必须关注你的服务器消耗了多少内存


另一个设计注意事项:如果你想在多个页面上得到完全相同的结果,那么考虑一个第三个脚本,你可以在其他的脚本中包含,但是除了生成这个输出之外什么都不做。

你如何确保从PaG1到PaGE2传递的数据没有被任何方式篡改?你怎么能相信这些数据?您可以使用$\u会话来存储数据,但我不认为再次运行查询会有问题。只需将查询结果传递到第2页,Init可能会更快,如果你的数据没有改变,会话比mysql更快。我当然不会通过POST传递数据,这允许恶意客户端篡改数据。假设数据集不太大,并且不太可能在用户会话空间中更改,则会话速度会快一些。除非您的查询运行时间很长,否则我们可能只讨论第二个差异的一小部分。了解您的查询通常需要多长时间是很有用的。另一个设计注意事项:如果你想在多个页面上得到完全相同的结果,那么考虑一个第三脚本,你可以在其他脚本中包含,除了生成输出之外,你不重复两次相同的UI和数据库代码。