PhpMyAdmin İthalat Of Program Eşdeğer

2 Cevap php

Ben phpMyAdmin İthalat özelliğini kullanarak uyguladığınızda gayet güzel çalışıyor bir SqlDump.sql dosyası var, ancak ben programlı bunu gerçekleştirmek gerekiyor. Bir çaylak olmak, böyle bir şey yapmaya çalıştık:

$SQL=file_get_contents('SqlDump.sql');
$DB=mysqli_connect('localhost','root','');
mysqli_select_db($DB,'somedb');
if (mysqli_multi_query($DB, $SQL)) {
    do {
        if ($result = mysqli_store_result($DB)) {
            mysqli_free_result($result);
        }
    } while (mysqli_next_result($DB));
}
$Err=mysqli_error($DB);
mysqli_close($DB);

Ama ben mysql hataları her türlü olsun. Ben phpMyAdmin kullanarak aldığınızda Yine aynı dosya gayet güzel çalışıyor. Bunu nasıl programlı çalışmak için alabilirim?

Hata:

Can't create table 'somedb.t_sr_u_alertcode' (errno: 150)

2 Cevap

Çift sorun var.

Bu hata, bir yabancı anahtar kısıtlaması hatadır. Oluşturmak için çalışıyoruz Bazı masa muhtemelen henüz yaratılmamış başka tabloya yabancı anahtar vardır.

Ben burada hata bazı örneklerini bulundu:

Bu googling:

İkinci sorun ben bir ile ayrılmış birden fazla sql komutları çalıştırmak sanmıyorum çünkü muhtemelen büyük bir dosya almaya çalışırken sıkıntı içine alırsınız olduğunu; gibi phpmyadmin yapabilirsiniz. Ben bu gibi bir komut dosyası kullanarak öneririm:

Ben kendim denemedim, ama çalışmıyor inanmak için hiçbir sebep yok.

Sen ki her zaman sadece look at the source code