$databases = array();
$path = '/Path/To/Directory';
$main_link = mysqli_connect('localhost', 'USERNAME', 'PASSWORD');
$files = scandir($path);
$ignore_files = array();
foreach($files as $file)
{
if (!in_array($file, $ignore_files))
{
$database = substr($file, 0, strpos($file,'.'));
$databases[] = $database;
mysqli_query($main_link, "DROP DATABASE IF EXISTS $database") or die ("$database 1" . mysqli_error($main_link));
mysqli_query($main_link, "CREATE DATABASE $database") or die ("$database 2" .mysqli_error($main_link));
$db_link = mysqli_connect('localhost', 'USERNAME', 'PASSWORD', $database);
//In here a whole database dump with scheam + data is executed.
mysqli_multi_query($db_link, file_get_contents($path.'/'.$file)) or die ("$database 4" .mysqli_error($db_link));
}
}
Bu komut dosyasını çalıştırırken çok hızlı bir şekilde yapıldı (tarayıcıya döndü), ancak tarayıcı tamamlandığını söyledikten sonra sorgular hala çalışıyordu. Bu neden?php mysqli çoklu sorgu eşzamansız?
what * it * hala çalışıyordu * what *, ve nasıl biliyorsunuz? –
Evet Bunu bilmek isterdim ... Sorgular, eşzamansız yürütülmemelidir. Çok sorgular bile (?) Çünkü sonuçları da olabilir. – Rudie
@Dagon Belki bir "SHOW PROCESSLIST" yaptı ... @Chris 'top | grep mysql'm hassas olmaz, çünkü mysql daemons ve süreçleri her zaman çalışır. – Rudie