关于新手学习PHP的几个问题(求高手回答下)
时间:2011-10-12
来源:互联网
function Getclassid($id){
$sqltext = "select * from newsmenu where m_id='".$id."' ";
$rez = mysql_query($sqltext);
if(!!$RS=mysql_fetch_array($rez)){
$Getclassid=$RS['m_title'];
}else {
$Getclassid="没有标题";
}
return $Getclassid;
mysql_free_result($rez);
mysql_close();}
第一个问题 上面函数中这么写对??return后是不是 mysql_free_result跟mysql_close();就不会执行到了...有N个这样的函数会不会很占用内存,正确的应该怎么写?
function Webpiccount($id){
$sqltext = "select p_id from mar_pic where p_pid='".$id."' ";
$num = mysql_num_rows(_query($sqltext));
return $num;
mysql_close();
}
第二个问题 上面函数mysql_num_rows这个怎么释放内存啊 这样释放?mysql_free_result(不带参数)?
第三个问题
关于require跟include中的mysql_close();
例如 idnex.php
____________________________________________
require "top.php" 这个里面打开数据库
.....
....
...文章内容
.....
include "foot.php" 这个里面关闭数据库(里面的内容是mysql_close();)
我在foot页面里面 加上mysql_close();
是不是所有页面都能执行到mysql_close();
请高手回答下...本人刚学PHP 菜鸟一个...以前是跟这微软混..感觉不行..想转PHP ....
$sqltext = "select * from newsmenu where m_id='".$id."' ";
$rez = mysql_query($sqltext);
if(!!$RS=mysql_fetch_array($rez)){
$Getclassid=$RS['m_title'];
}else {
$Getclassid="没有标题";
}
return $Getclassid;
mysql_free_result($rez);
mysql_close();}
第一个问题 上面函数中这么写对??return后是不是 mysql_free_result跟mysql_close();就不会执行到了...有N个这样的函数会不会很占用内存,正确的应该怎么写?
function Webpiccount($id){
$sqltext = "select p_id from mar_pic where p_pid='".$id."' ";
$num = mysql_num_rows(_query($sqltext));
return $num;
mysql_close();
}
第二个问题 上面函数mysql_num_rows这个怎么释放内存啊 这样释放?mysql_free_result(不带参数)?
第三个问题
关于require跟include中的mysql_close();
例如 idnex.php
____________________________________________
require "top.php" 这个里面打开数据库
.....
....
...文章内容
.....
include "foot.php" 这个里面关闭数据库(里面的内容是mysql_close();)
我在foot页面里面 加上mysql_close();
是不是所有页面都能执行到mysql_close();
请高手回答下...本人刚学PHP 菜鸟一个...以前是跟这微软混..感觉不行..想转PHP ....
作者: amu1433 发布时间: 2011-10-12
第一个问题:
return 值之后会跳出函数。后面的代码不会执行。
只是函数而不调用的话,不会占用很多内存。
第二个问题:
释放资源的方式有unset(),mysql_close();closedir();mysql_free_result(resour $result)
其中mysql_free_result()可带参数可不带, 仅需要在考虑到返回很大的结果集时会占用多少内存时调用。在脚本结束后所有关联的内存都会被自动释放
第三个问题:
require跟include是引入文件。
如果是你这样的
类似于在一个文件中:
mysql_connect();
index的主题内容
mysql_close();
所以只要footer的页面都会执行mysql_close();
不过,如果不是长连接,一般情况下不需要显式执行mysql_close();php会在脚本执行完毕会自动释放资源。
return 值之后会跳出函数。后面的代码不会执行。
只是函数而不调用的话,不会占用很多内存。
第二个问题:
释放资源的方式有unset(),mysql_close();closedir();mysql_free_result(resour $result)
其中mysql_free_result()可带参数可不带, 仅需要在考虑到返回很大的结果集时会占用多少内存时调用。在脚本结束后所有关联的内存都会被自动释放
第三个问题:
require跟include是引入文件。
如果是你这样的
类似于在一个文件中:
mysql_connect();
index的主题内容
mysql_close();
所以只要footer的页面都会执行mysql_close();
不过,如果不是长连接,一般情况下不需要显式执行mysql_close();php会在脚本执行完毕会自动释放资源。
作者: ohmygirl 发布时间: 2011-10-12
明白了点 也就是说第一个问题 可以这样解决
mysql_free_result($rez); 先释放内存
return $Getclassid; 然后返回
mysql_close(); 这个可以去掉..
第二个问题 是不是可以这样理解
mysql_free_result 这个可以有也可以没有..影响不是很大..页面执行完会自动mysql_free_result跟mysql_close
第三个问题 是不是可以这样理解
所有页面都include "foot.php" foot.php里面加上mysql_close 所有页面都回自动释放内存...
mysql_free_result($rez); 先释放内存
return $Getclassid; 然后返回
mysql_close(); 这个可以去掉..
第二个问题 是不是可以这样理解
mysql_free_result 这个可以有也可以没有..影响不是很大..页面执行完会自动mysql_free_result跟mysql_close
第三个问题 是不是可以这样理解
所有页面都include "foot.php" foot.php里面加上mysql_close 所有页面都回自动释放内存...
作者: amu1433 发布时间: 2011-10-12
根据许多人的说法,mysql_free_result()
如果结果集不是很大的话,没必要调用。
Using this function may actually increase the amount of memory used. In my case, the script used 208 bytes less memory when *not* using mysql_free_result().
如果结果集不是很大的话,没必要调用。
Using this function may actually increase the amount of memory used. In my case, the script used 208 bytes less memory when *not* using mysql_free_result().
作者: ohmygirl 发布时间: 2011-10-12
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28