• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak eksportować tabelki mysql

Object Storage Arubacloud
+2 głosów
571 wizyt
pytanie zadane 4 kwietnia 2015 w PHP przez Wirus Stary wyjadacz (14,000 p.)

Czesć. Chciałbym eksportować strukturę zapytań sql, ale nie ich wartość. Czyli: NP: CREATE TABLE, a nie wartości: 0 admin haslo 1, 1 nieadmin haslo 0. Używam na razie: 

 system("mysqldump -u root -h localhost -p db > C:\\Users\\User\Downloads\\eki3.sql");

Plik jest pusty.

3 odpowiedzi

0 głosów
odpowiedź 4 kwietnia 2015 przez Wirus Stary wyjadacz (14,000 p.)
wybrane 5 kwietnia 2015 przez Wirus
 
Najlepsza

Niestety żadna z wymienionych rzeczy nie działa. Dane mam dobre, a z phpadmin nie chcę eksportować bo jest mi potrzebne do zautomatyzowania mojej aplikacji.

EDIT@

Wszysto osiągnąłem dzięki zapytaniom. Jeżeli ktoś ma ten sam problem daje funkcję:

public function Export($tables = '*', $outputDir = 'temp/') 
	{

		error_reporting(0);
        try
        {
  
            if($tables == '*')
            {
                $tables = array();
                $result = $this->Connect->query('SHOW TABLES');
                while($row = $result->fetch_row())
                {
                    $tables[] = $row[0];
                }
            }
            else
            {
                $tables = is_array($tables) ? $tables : explode(',',$tables);
            }

            $sql = 'CREATE DATABASE IF NOT EXISTS '.$this->Data[3].";\n\n";
            $sql .= 'USE '.$this->Data[3].";\n\n";
     
            foreach($tables as $table)
            {
                echo "Backing up ".$table." table...";
                $result = $this->Connect->query('SELECT * FROM '.$table);
                $numFields = mysqli_num_fields($result);
				
                $sql .= 'DROP TABLE IF EXISTS '.$table.';';
				
                $row2 = mysqli_fetch_row($this->Connect->query('SHOW CREATE TABLE '.$table));
			    
                $sql.= "\n\n".$row2[1].";\n\n";	//8888
                for ($i = 0; $i < $numFields; $i++) 
                {
                    while($row = $result->fetch_row())
                    {
                        $sql .= 'INSERT INTO '.$table.' VALUES(';
                        for($j=0; $j<$numFields; $j++) 
                        {
                            $row[$j] = addslashes($row[$j]);
                            $row[$j] = ereg_replace("\n","\\n",$row[$j]);
                            if (isset($row[$j]))
                            {
                                $sql .= '"'.$row[$j].'"' ;
                            }
                            else
                            {
                                $sql.= '""';
                            }

                            if ($j < ($numFields-1))
                            {
                                $sql .= ',';
                            }
                        }

                        $sql.= ");\n";
                    }
                }

                $sql.="\n\n\n";

                echo " OK" . "<br>";
				$this->Tables = $table;
				
            }
        }
        catch (Exception $e)
        {
            var_dump($e->getMessage());
            return false;
        }
			
        return $this->saveFile($sql, $outputDir);
    }
komentarz 4 kwietnia 2015 przez elaen Gaduła (4,760 p.)
Może spróbuj skorzystać z PHPmyadmin, i zobaczyć jakie pytanie się stworzy gdy cel zostanie osiągnięty, i użyć tego zapytania:)
0 głosów
odpowiedź 4 kwietnia 2015 przez toaspzoo Dyskutant (8,300 p.)

Użyj parametru --no-data

system("mysqldump --no-data -u root -h localhost -p db > C:\\Users\\User\Downloads\\eki3.sql");

 

0 głosów
odpowiedź 4 kwietnia 2015 przez Andrew Obywatel (1,420 p.)
Możesz to też wykonać z poziomu PHPMyAdmin i tam wyybrać opcje eksportu tabeli bez zawartości.

Pozdrawiam

Podobne pytania

0 głosów
1 odpowiedź 168 wizyt
0 głosów
0 odpowiedzi 75 wizyt
pytanie zadane 23 grudnia 2019 w PHP przez Konfitura Nowicjusz (120 p.)
0 głosów
0 odpowiedzi 238 wizyt

92,617 zapytań

141,466 odpowiedzi

319,783 komentarzy

61,999 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...