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

Jak eksportować tabelki mysql

Mały hosting, OGROMNE możliwości
+2 głosów
1,011 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ź 311 wizyt
0 głosów
0 odpowiedzi 150 wizyt
pytanie zadane 23 grudnia 2019 w PHP przez Konfitura Nowicjusz (120 p.)
0 głosów
0 odpowiedzi 364 wizyt

93,715 zapytań

142,629 odpowiedzi

323,261 komentarzy

63,258 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...