0

次のコードはエラーをスローしませんが、データベースは新しいデータでバックアップされません。

<?php
include('conn.php');
$dbhost="localhost";
$dbuser="landshop_anitgop";
$dbpass="password";

$source=array("landshop_formdata.sql","landshop_clientdata.sql","landshop_blogs.sql","landshop_counter.sql","landshop_hitems.sql");

$path = '"C:/Program Files/EasyPHP-5.3.8.1/www/Landshoppe/Downloaded Dbs/"';

        $mysqldump = '"pathToExe".mysqldump.exe"';
       foreach($source as $db) {
            $dbsource= $path.$db;
            $command = "mysql -u{$dbuser} -p{$dbpass} {$db} < ".$path."backup_{$db}.sql";
       system($command,$output);
       echo "Backed Up : ".$db." Output [".print_r($output,1)."]<br>";

     //system('mysql -u <user> -p<password> dbname < filename.sql');  



}

?>

何がうまくいかないのかわからない..

4

1 に答える 1

1

2 つのポイント:

  1. パスを引用する必要があると思います

     //$path = "C:\Program Files\EasyPHP-5.3.8.1\www\Landshoppe/Downloaded Dbs/";
     // change this into
     $path = '"C:/Program Files/EasyPHP-5.3.8.1/www/Landshoppe/Downloaded Dbs/"';
    
  2. なぜmysqldumpを使用しないのですか?

このコードは機能するはずです

       <?php 
           $path = '"C:/Program Files/EasyPHP-5.3.8.1/www/Landshoppe/Downloaded Dbs/"';
           $mysqldump = '"pathToExe".mysqldump.exe"';
           foreach($source as $db) {
                $dbsource= $path.$db;
                $command = $mysqldump." -u{$dbuser} -p{$dbpass} {$db} > ".$path."backup_{$db}.sql";
           system($command,$output);
           echo "Backed Up : ".$db." Output [".print_r($output,1)."]<br>";
            }
于 2012-10-26T08:03:51.320 に答える