SELECT INTO OUTFILE不起作用?

时间:2012-01-31 20:14:41

标签: php mysql

我一直试图运行这个功能,并且我已经尽可能地重写了它,但我无法让它工作:

public function backup($location) {
    $database = 'logindb';

    $backup = $location.'/'.$database.'_backup_'.date('Y').'_'.date('m').'_'.date('d').'.sql';

    $sql = "SELECT * INTO OUTFILE '$backup' FROM users";

    if ($stmt = $this->connect->prepare($sql)){
        if ($stmt->execute()) {
            echo $stmt->error();    
        }
        $stmt->close();
        echo 'done';
    } else {
        echo 'Error';   
    }
}

我做错了什么或出了什么问题?

2 个答案:

答案 0 :(得分:2)

mysql用户必须具有$ backup

中路径的写入权限

答案 1 :(得分:2)

输入ps-Af以查看您的网络服务器的用户名(通常是apache或httpd) 然后在一个文件夹中键入chown -R apache:apache(或httpd respactively) 你的备份目录 然后输入chmod u + w 我认为,既然webserver尝试编写文件,它必须具有写权限