请教一个数据库连接的事

3dmax123 2004-10-04 12:01:13
比如用类连接
$new_class = new class('a');//数据库类
$new_class->connect();

$q="update table1 set x=1";//更新一个表的字段
$new_class->query($q);

然后继续改变$q
$q="update table2 set y=1";//更新另一个表的字段
$new_class->query($q);
应该没问题

但是如果一开始是查询
$q="select * from table1 where x=1";//查询一个表的字段
$new_class->query($q);
while($new_class->next())//移动指针
{得到值}

然后继续改变$q
$q="select * from table2 where y=1";//查询另一个表的字段
$new_class->query($q);
while($new_class->next())//移动指针
{得到值}
这时指针是从新查询的第一条开始,还是由于前面移动过指针,这里会不是第一条开始


以上的数据库连接类是常用的一些
我想问的是,因为我不知道指针是否第一条开始
所以,当一个页面里有多个查询时,我会用多次数据库连接类,这个是不是错的,增加了数据库负担
另外数据库类也是下载了用的,里面有一句是
mysql_free_result($this->q_k);$this->q_k = 0;
//他的注释是:丢弃内存中的查询结果
是不是第二次查询时,先丢弃内存中的查询结果?或者这句有什么用呢

不好意思问了一大堆,请教各位老师
...全文
115 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ice_berg16 2004-10-06
  • 打赏
  • 举报
回复
按照后面的代码可以看出应该是二次查询产生冲突,
由于第二个查询释放了第一个查询的结果集,所以第一次的查询结果就出问题了。
screend 2004-10-06
  • 打赏
  • 举报
回复
楼主将的问题确实存在,我以前就碰到过,解决方案是在类里面加了另外一个函数,就是直接由SQL语句返回查询二维数组的函数,这样就不会跟前面打开的游标有冲突了
朝阳 2004-10-06
  • 打赏
  • 举报
回复
如果将数据库中的内容读到数组,再操作数组,是不是一个方法呢?
tod204 2004-10-06
  • 打赏
  • 举报
回复
先标记一下.去睡觉了先,明天再来讨论(学习)...:)
好累呀..
mrshelly 2004-10-04
  • 打赏
  • 举报
回复
$q="select * from table1 where x=1";//查询一个表的字段

$new_class->query($q); //这个数据库类的query有返回吗?
这种形式是不是更好?
$result=$new_class->query("$q");



while($new_class->next())//移动指针
{得到值}
while($result=$new_class->next()) 是不是更好?


$result2=$new_class->query("$q");



while($result2=$new_class->next())//移动指针
{得到值}
while($result=$new_class->next()) 是不是更好?
xuzuning 2004-10-04
  • 打赏
  • 举报
回复
1、 mrshelly(Shelly) 的回答有点想当然了。$new_class->query("$q")是否有返回值还是个问号
2、楼主的问题需要查看了类代码后才能解说。类定义的不同,或是说类方法的算法的不同将会产生不同的结果。不可一概而论

21,890

社区成员

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

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