关于Mysql查询的问题的(mysql_unbuffered_query)

jaexc 2004-08-05 01:02:31
我的PHP 4.34 MySQL 4.0.16
Code 为:
if($type == 'UNBUFFERED' && @function_exists('mysql_unbuffered_query')) {
$this->query_id = mysql_unbuffered_query($SQL,$this->link_id);
} else {
if($type == 'CACHE' && intval(mysql_get_server_info()) >= 4) {
$SQL = 'SELECT SQL_CACHE'.substr($SQL, 6);
}
$this->query_id = @mysql_query($SQL,$this->link_id);
}

当指定$type为 UNBUFFERED 时,就用mysql_unbuffered_query函数嘛
执行SQL语句 :SELECT * FROM user LIMIT 0,10
最后 echo mysql_affected_rows($this->link_id); 结果是 -1 ?????

怎样查询使用缓存呢?
...全文
230 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jaexc 2004-08-17
  • 打赏
  • 举报
回复
up
不好意思
jaexc 2004-08-07
  • 打赏
  • 举报
回复
<?php

$con=mysql_connect('localhost','root','12345');
@mysql_select_db('test',$con);
//---------- 1
$SQL='select * from gbicon';
$id=mysql_query($SQL);
echo mysql_affected_rows($con);

echo '<br>';

//---------- 2
$SQL='select * from gbicon';
$id=mysql_unbuffered_query($SQL);
echo mysql_affected_rows($con);

mysql_close($con);

?>

输出的结果是 :
50
-1

刚学习PHP的时候没有注意这些,看我同学的代码:
SELECT后看受影响的行数就知道是否有这个数据,他用在用户注册时的同名检测
ice_berg16 2004-08-06
  • 打赏
  • 举报
回复
不可能,mysql_affected_rows对select无效
jaexc 2004-08-06
  • 打赏
  • 举报
回复
unbuffered是不缓存结果。这样查询速度较快
---这个到是很同意的,那一般什么地方需要用呢?

如果用mysql_query()函数执行SELECT语句mysql_affected_rows就有返回值的。
mysql_unbuffered_query()就不行的哈
ice_berg16 2004-08-05
  • 打赏
  • 举报
回复
unbuffered是不缓存结果。这样查询速度较快,
而且mysql_affected_rows只对update,insert和delete语句有效,对select无效
直接使用mysql_query()就可以了

21,886

社区成员

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

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