如果多个 PHP 页面共享 mysql 查询结果? 比如:我在 1.php 中进行数据查询,保存到数组 $data 中。我在 2.php 3.php 4.php 5.php 等多个 PHP 文件中需要使用这个查询结果,如果在每个文件中都在执行一次查询,感觉太浪费资源了,有什么比较好的方法解决这个问题吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这样的话,那就保存在临时会话session里吧 我用 全局变量可以吗?全局变量和 session 有什么区别吗?如果用缓存,我可以在查询后,把结果保存在缓存中,在用完后,把缓存释放吗?新人,谢谢了! 什么数据啊,用include 之接引入这个取出了数据的php文件不是一样吗? 用 include 的话,不久每个文件都执行了吗?include 是这样的意思吗?2.php 文件<?php include "1.php" ?>如果执行 2.php 时,先执行 1.PHP 的内容,是这样吗?如果是这样,那么我在 1.PHP 中执行查询,那么所有的文件不就都执行查询吗? session 是这么用吗?如果保存数组,session_start(); session_register('data'); 在对 $data[] 数组赋值?还是线对 $data[] 数组赋值,在调用 session_register('data'); 注册? 如果跟具体用户有关,可以用session,也可以用缓存跟用户无关的话只能用缓存了 //1.php$data = array();//查询到的数据$_SESSION['data'] = $data;//2.phpvar_dump($_SESSION['data']);//即$data数组//3.phpunset($_SESSION['data']);//用完释放 如果缓存的话,怎么做,我看网上有这么做的,$file = 'sql_cache.txt';$link = mysql_connect('localhost','username','password') or die (mysql_error());mysql_select_db('shop') or die (mysql_error());/* 构造SQL查询 */$query = "SELECT * FROM categories";$result = mysql_query($query) or die (mysql_error());while ($record = mysql_fetch_array($result) ){ $records[] = $record;}$OUTPUT = serialize($records);$fp = fopen($file,"w"); // 以写权限的方式打开文件fputs($fp, $OUTPUT);fclose($fp); 写入一个文件中了。还有直接打开配置,让 MYSQL 自己缓存的,到底哪个正确,哪个方法好呢 ? 用session吧,簡單一點,查詢出來的數據一樣可以共享其它頁面! 数组问题 有个正则不会,帮忙写下? PHP删除XML结点的奇怪现象, php url 跳转问题,url含参数,可能需要正则 smarty里面有没有一个类似与$server['php_self']当前页面路径的内置变量呢?? 如何返回string中指定位置的字符,及替换指定位置的字符? 100分:对国外大型PHP论坛熟悉的建议一下 哪位帮帮我?怎么在win98下装上php呢?我这两天头都装大了,还是不行? 谁能给我发一个window2000下的php软件吗,我下了一个用不了 PHP框架读取配置文件问题 PHP中关于数据库使用问题 权限管理
全局变量和 session 有什么区别吗?
如果用缓存,我可以在查询后,把结果保存在缓存中,在用完后,把缓存释放吗?新人,谢谢了!
用include 之接引入这个取出了数据的php文件不是一样吗?
<?php
include "1.php" ?>如果执行 2.php 时,先执行 1.PHP 的内容,是这样吗?如果是这样,那么我在 1.PHP 中执行查询,那么所有的文件不就都执行查询吗?
如果保存数组,
session_start();
session_register('data'); 在对 $data[] 数组赋值?还是线对 $data[] 数组赋值,在调用 session_register('data'); 注册?
跟用户无关的话只能用缓存了
//1.php
$data = array();//查询到的数据
$_SESSION['data'] = $data;//2.php
var_dump($_SESSION['data']);//即$data数组//3.php
unset($_SESSION['data']);//用完释放
$file = 'sql_cache.txt';$link = mysql_connect('localhost','username','password') or die (mysql_error());mysql_select_db('shop') or die (mysql_error());/* 构造SQL查询 */$query = "SELECT * FROM categories";$result = mysql_query($query) or die (mysql_error());while ($record = mysql_fetch_array($result) ){ $records[] = $record;}$OUTPUT = serialize($records);$fp = fopen($file,"w"); // 以写权限的方式打开文件fputs($fp, $OUTPUT);fclose($fp); 写入一个文件中了。还有直接打开配置,让 MYSQL 自己缓存的,到底哪个正确,哪个方法好呢 ?