关于Phplib中DB_Sql、Template的使用中的一些小疑问

teacherli 2004-04-25 10:04:14
问题:
1.在使用PHP直接提供的mysql函数来获取数据后要使用mysql_close($LinkID)关闭数据连接,使用Phplib提供的db_mysql.inc中的DB_Sql类在获取完数据后要不要关闭数据库连接?
2.使用DB_Sql类时我是否应该把它本来的使用的mysql_pconnect改成mysql_connect呢?在一个页面要发送2条以上的Query时,connect与pconnect在效率上有什么差别?
3.Template类在使用完$template->p("out")后用不用采取什么其它的措施把$template这个实例销毁呢?
4.在提交数据库查询时要使用一条长而复杂的语句呢还是分开使用几条简单的语句写呢?像这样的语句(这还不算复杂):
SELECT tb_UserInfo.vcUserName,tb_alu_Class.vcClassMSG, tb_alu_Class.vcClassName, tb_alu_Class.dtYear, tb_alu_Class.vcCreateUserID, tb_alu_Class.dtCreateDate, tb_alu_Class.vcClassPhoto, tb_alu_Class.iClassNum, tb_alu_Class.imSchID, tb_alu_School.vcSchName
FROM tb_UserInfo, tb_alu_Class, tb_alu_School
WHERE
tb_alu_Class.iClassID = 123
AND tb_UserInfo.vcUserID = tb_alu_Class.vcmCreateUserID
AND tb_alu_School.iSchID = tb_alu_Class.imSchID
问题比较多,想找位使用过PHPLIB的人帮着看看,解解惑,谢谢!
...全文
73 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
teacherli 2004-04-25
  • 打赏
  • 举报
回复
phplib中的DB_Sql类中有没有负责关闭链接的函数?我指的是如何高效的使用DB_SQL,现在我这样使用:
<?php
/**************************************************************
* 文件名: get_pwd2.php
* 作 用:
* 时 间:
*
* 版 权:
* 作 者:
*
****************************************************************/

require ("db_mysql.inc");
require ("template.inc");

$db = new DB_Sql();
$template = new Template(".");

$db->connect();

$UserID = $_POST["UserID"];
$db->query("SELECT tb_UserInfo.vcPasswd, tb_User_Question.vcQuestion FROM tb_UserInfo, tb_User_Question WHERE tb_UserInfo.vcUserID = '$UserID' AND tb_User_Question.iQuestionID = tb_UserInfo.imQuestionID");

if(0 != $db->num_rows()) //存在这个用户
{
$db->next_record();


$template->set_file("handle", "template/get_pwd2.ihtml");
$template->set_var("Question", $db->f("vcQuestion"));
$template->set_var("UserID", $UserID);
$template->set_var("Message", "请输入您提示问题的答案!");
$template->parse("out", "handle");
$template->p(out);
}
else //不存在此用户返回到第一步
{
$template->set_file("handle", "template/get_pwd.ihtml");
$template->set_var("Message", "对不起,你输入的用户名不存在,请重试!");
$template->parse("out", "handle");
$template->p(out);
}
?>
================================
这里没有对数据库对象$db的关闭,也没有对实例化的$template进行销毁,这样我总感觉到有问题,怎么解决,还请大家多多发言
allkill 2004-04-25
  • 打赏
  • 举报
回复
及时mysql_close有利于大量的并发访问。
-神仙- 2004-04-25
  • 打赏
  • 举报
回复
mysql_connect在页面结束后会自动关闭的
skystar008 2004-04-25
  • 打赏
  • 举报
回复
最好的习惯是有始有终做程序也一样打开连接后自然要关闭才好.
PHPLIB中最好还是用mysql_connect
template类不象数据库存储,在输出后没有必要销毁.
为了增加可读性你可以试着把复杂的语句分开写但为了简洁还是写成一句比较好.

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧