• 22-09-2018, 12:30:39
    #1
    <?php $con = mysqli_connect('localhost', 'root', 'passwor', 'verirab');
    $tables = array();
    $result = mysqli_query($con,"SHOW TABLES");
    while ($row = mysqli_fetch_row($result)) {
    	$tables[] = $row[0];
    }
    $return = '';
    foreach ($tables as $table) {
    	$result = mysqli_query($con, "SELECT * FROM ".$table);
    	$num_fields = mysqli_num_fields($result);
    
    	$return .= 'DROP TABLE '.$table.';';
    	$row2 = mysqli_fetch_row(mysqli_query($con, 'SHOW CREATE TABLE '.$table));
    	$return .= "\n\n".$row2[1].";\n\n";
    
    	for ($i=0; $i < $num_fields; $i++) { 
    		while ($row = mysqli_fetch_row($result)) {
    			$return .= 'INSERT INTO '.$table.'VALUES(';
    			for ($j=0; $j < $num_fields; $j++) { 
    				$row[$j] = addslashes($row[$j]);
    				if (isset($row[$j])) {
    					$return .= '"'.$row[$j].'"';} else { $return .= '""';}
    					if($j<$num_fields-1){ $return .= ','; }
    				}
    				$return .= ");\n";
    			}
    		}
    		$return .= "\n\n\n";	
    }
    $handle = fopen('backup.sql', 'w+');
    fwrite($handle, $return);
    fclose($handle);
    echo "success";
    
    // sql dosyasini zipleme kodu. //
    
    $zip = new ZipArchive();
    $zip->open('backup2.zip', ZipArchive::CREATE);
    $zip->addFile('backup.sql', 'yedek.sql'); 
    $zip->close();
    ?>

    bu kodlarla veri tabanimdaki tablomu sql olarak ftp ye yedekleyebiliyorum.
    1.si sql dosyasi olusurken karakter kodlamasi hatasi oluşuyor. sqldan örnek kodlar
    [INSERT INTO ayarlarVALUES("2","D?T  /  Herhangi bir m?sl?man?n dikti?i a?a?an yenen, ?l?nan ve al?nan ?ey, o a?ac? diken i?n sadakad?r.  / DERS YOK (yar??ma var) / Ak?am Namaz?n? m?teakip kandil program? icra edilecektir / Kur\'an-? Kerim Dersi"," A s?n?f? (erkekler) i?n Kur\'an-? Kerim Dersi]
    bu şekilde encoding yaptiramadim sql için.
    2. sormak istediğim şey de ftpde yedeğin kalmasi güvenlik açisindan sorun olabilir bunun için zipledikten sonra bu zip in locae indirsek ve sql ve zip dosyasinida ftpden silsek bunu nasil yapabiliriz acaba. phpde mysql backup database yi baya arastirdim fakat burada bu 2 işlev için sonuca ulaşamadim yardimci olabilirseniz çok sevinirim şimdiden ilgilenen ilgilenmeyen herkese teşekkür ederim
  • 22-09-2018, 12:34:01
    #2
    mysql_query("SET NAMES UTF8"); denermisiniz.
  • 22-09-2018, 12:45:54
    #3
    RemziKurcan adlı üyeden alıntı: mesajı görüntüle
    mysql_query("SET NAMES UTF8"); denermisiniz.
    kodlarimin en st kismina mysql_query("SET NAMES UTF8"); ekledim sonuc gene ayni hocam
  • 22-09-2018, 13:09:48
    #4
    Çalışma dosyanızın (PHP) karakter kodlamasını Bom olmadan UTF-8 olarak değiştirmeyi denediniz mi
  • 23-09-2018, 23:52:46
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    mysqli ile bağlandıktan hemen sonra

    $mysqli->set_charset("utf8");

    kodu dener misin