2010-11-19 15 views
0

mySQL veritabanımı yedeklemek için birçok betiği denedim ama hepsi başarısız olur ..
phpMyAdmin, dizgilerim gerektiği gibi kaçan bir phpMyAdmin.
Burada sorun nedir?kodlama ve PHP veritabanı yedekleme komut dosyalarında kaçan

Veritabanımdaki bazı dizelerde "é" vb. Uluslararası karakterlere sahibim. phpMyAdmin dökümü, ayrıca "\ r \ n" gibi komutları da kırıyor gibi görünen şeyler gösteriyor.

Bu bir kodlama sorun mu? Veritabanımda ilk etapta "é" olmamalı mıyım?
Tüm bu kodlama, kaçma kafamın üstündedir, her zaman bununla uğraşıyorum. Sadece veritabanımda insan tarafından okunabilir ve tarayıcıda ayrıştırılmış insan okunabilir her şeyi istiyorum. Neden bu kadar zor?
Her şeyi UTF-8'e ayarlamaya çalışıyorum, ancak json_encode() ile işleri yolladığımda veritabanında tüm bu \ u00e9 \ var.

ben linki bu giden bir kestirmene bulundu:

$tableName = 'albums'; 
$backupFile = 'albums.sql'; 
$query  = "SELECT * INTO OUTFILE '$backupFile' FROM '$tableName'"; 
$result  = mysql_query($query); 
if (!$sql_res) { 
    echo "error"; 
} 

tarayıcı çıkışları "hata" komut satırı erişimi ve Mysqldump yüklü olup olmadığını

+0

Hangi PHP modülünü kullanıyorsunuz? PDO, mysql veya mysqli? – stillstanding

+0

eh, mysql. başkalarının ne olduğunu bile bilmiyorum .. – FFish

+1

SQL kodunda bir hata var, olmalıdır: SELECT * '$ tableName' INTO OUTFILE '$ backupFile'; ve bir hata için kontrolünüz var olmayan bir değişkene bakar, bu yüzden her zaman yanlış olur – Patrick

cevap

0

(I mysql çoğu tesisat buna sahip inanmak) o zaman sadece

mysqldump [database-name] -u[username] =p'[password]' > db_backup.sql 

reference

+0

Yedeği PHP ile yazmak istiyorum, – FFish

+0

komut satırıyla değil exec ("mysqldump [database-name] -u [username ] = p '[şifre]'> db_backup.sql "); –

+0

da bunu denedi, sadece boş bir sayfa .. – FFish

0

deneyin çalıştırmak Bu:

$tableName = 'albums'; 
$backupFile = 'albums.sql'; 
$query  = "SELECT * FROM {$tableName} INTO OUTFILE '{$backupFile}'"; 
$result  = mysql_query($query); 
if (!$result) { 
    echo "error"; 
} 

ben size mysql bağlantısı düzgün kuruldu ve bu db Tamam seçildi eminiz varsayalım.

İlgili konular