I mysql
komutu çağırarak, PHP exec
ile son derece basit bir komut dosyası var:
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'mypass';
$db = 'job';
$file ='job_create.sql';
$mySQLDir='"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql"';
if ($dbpass != '') {
$cmd = $mySQLDir.' -h '.$dbhost.' --user='.$dbuser.' --password='.$dbpass.' < "'.dirname(__FILE__).'\\'.$file.'"';
} else {
$cmd = $mySQLDir.' -h '.$dbhost.' --user='.$dbuser.' < "'.dirname(__FILE__).'\\'.$file.'"';
}
// echo $cmd;
exec($cmd,$out,$retval);
Ben yukarıdaki script kullanıcı kimlik bilgileri geçmek ve anında job_create.sql
çalıştırmak, mysql
komutu çağırır beklenebilir.
Tek şey job_create.sq
Ben düzgün çalıştırmak olmadığını anlamda çalışmıyor olmasıdır. . Ben, aşağıda script kullanarak doğrudan komut satırından mysql
komutu aramaya çalıştı
bin\mysql.exe -h localhost --user=root --password=mypass < "job_create.sql"
ve çalışır.
Bu nasıl düzeltmek için herhangi bir fikir?
Edit: I call this script from PHP command line. i.e., PHP.exe installdb.php