简体   繁体   中英

SELECT INTO OUTFILE isn't working?

I keep trying to run this function and I have rewritten it in all ways possible, but I cannot get it work:

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';   
    }
}

What am I doing wrong or what could be wrong ?

mysql用户必须对$ backup中的路径具有写权限

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM