我想到的有三种思路吧
①如果服务器允许mysqldump 并且没有禁止PHP的shell_exec()这个函数的话
直接在PHP里面执行mysqldump就可以了.
select * into outfile '路径/文件名' from 表名
缺点是这样得到的是纯数据,恢复数据的时候你需要额外再写脚本
都说到这里了大家应该明白我不推荐用PHP来实现mysql数据的备份,如果可能的话还是用mysqldump吧
先说代码,我看了一下,代码没什么问题,至于你说的不备份,原因可能如下:
查询无结果,测试办法是在最外层的那个while语句结束后输出查询语句,即:
while?($t?=?mysql_fetch_array($q1))
{
//里面的代码
}
echo?$mysql;//今天这一节输出查询结果,如果结果正常,则说明查询有结果
$filename?=?"autobackup.sql";?//存放路径,默认存放到项目最外层
然后就是另一个问题了,目标文件不可写,你可以参考下面这样的代码
if(!file_exists($filename)?||?is_writable($filename))//如果文件不存在或可写
$fp?=?fopen($filename,?'w');//打开或创建可写文件
$mysql=str_replace("','','');","',null,null);",$mysql);
fputs($fp,?$mysql);//写入
fclose($fp);
else
echo?"文件?$filename?不存在或不可写";
如果尝试发现仍有问题,请再追问
使用mysqldump函数
dbname参数表示数据库的名称
BackupName.sql参数表设计备份文件的名称,文件名前面可以加上一个绝对路径.通常将数据库被分成一个后缀名为sql的文件.
备份数据库的主要过程:
切换到对应的数据库;
使用show create table ?tableName,获得表结构,写到文件中;
然后查询所有的表数据,循环生成相对应sql语句,写到文件中;
试运行生成的sql文件.
以上就是土嘎嘎小编为大家整理的php+数据库自动备份相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!