php根据数据库生成接口 用php创建数据库( 四 )


}
//---------------------------------------更新数据方法一----------------------------------------
$userObj-username = 'h111oho';
$userObj-passwd = '1478511122';
$userObj-email = 'qsf111ia@163.com';
$userObj-sex= 1;
$userObj-desc= '清洁工';
$affectedRows1 = $userObj-update(89);
if ($affectedRows10) {
echo "影响行数为:{$affectedRows1}BR";
}
//---------------------------------------更新数据方法二----------------------------------------
//更新记录(传递参数的方式和insert操作一样)
$userArr= array(
'username' = 'hohoho',
'passwd' = '1474rr4448522',
'email' = 'qsf.rrza@165.com',
'sex' = '0',
'desc' = '厨师qq',
);
$affectedRows = $userObj-update($userArr, $insetId);
if ($affectedRows0) {
echo "影响行数为:{$affectedRows}BR";
}
//----------------------------------------查询数据----------------------------------------------
$userRs0 = $userObj-select(8);//单个主键值
//print_r($userRs0);
$userRs1 = $userObj-select(array(1,5,8));//多个主键值的数组
//print_r($userRs1);
$userRs2 = $userObj-select('select count(*) as count fromuser where uid20');//直接完整sql语句
//print_r($userRs2);
$userRs3 = $userObj-select("`uid`0");//where条件
//print_r($userRs3);
$userRs4 = $userObj-getOne("`uid`0"); //获取单条记录
//print_r($userRs4);
$usersRs5 = $userObj-getAll("`uid`0"); ////获取所有记录
//print_r($usersRs5);
$usersRs6 = $userObj-limit('0,10')-where('uid100')-order('uid DESC')-group('username')-select();
//print_r($usersRs6);
//----------------------------------------删除数据-----------------------------------------------
//删除操作传递参数的方式和select操作一样
$userObj-delete(60);//单个主键值
$userObj-delete(array(1,5,8));//多个主键值的数组
$userObj-delete('deletefromuser where uid100');//直接完整sql语句
$userObj-delete("`uid`100");//where条件
$userObj-limit('5')-where('uid80')-delete();
//----------------------------------------特殊查询-----------------------------------------------
$userShowRs = $userObj-show('show create table user', true);//获取特殊查询的结果,第二个参数代表返回一条结果还是所有的结果
php + mysql 取得数据库中二进制文件 , 生成链接供打开filelist.php
?php
................
$result=mysql_db_query(.........id,filename.........);#查询结果并存入变量中
$rows=mysql_num_rows($result);#得出数据行数
for($i=0;$i$rows;$i++){
$total=mysql_fetch_array($result);
echo
"lia
href='https://www.04ip.com/post/filedown.php?fileid=$total[id]filename=$total[filename]'
target
='_blank'
$total[filename]/a/li";
}
...............
?
filedown.php
?php
$fid=$_GET['fileid'];
$fname=$_GET['filename'];
.....................
.....................
$result=mysql_db_query(.........,"select
id,filename,datasize,filedata
from
ftable
where
id='$fid'",.........);
$total=mysql_fetch_array($result);
$file_size=$total[datasize];
header("Content-type:application/octet-stream");
header("Accept-Ranges:bytes");
header("Accept-Length:$file_size");
header("Content-Disposition:attachment;filename=".$total[filename]);
echo
$total[filedata];
...............
?
======
你说把二进制的字节流取出生成文件保存到磁盘然后给个超链接,
这样做法没意义 , 你既然把它存在库里了那直接stream给用户是最好的方式 , 否则你还得考虑把它还原到文件夹用户使用完后怎么处理的问题?如果保留那当初就应该同时把它存在文件夹省得者多麻烦,如果不保留那反复生成删除还有共享问题反而加重服务器负担 。要么一次生成定期择优删除,又有许多代码有的写了 。。。

推荐阅读