Ga naar inhoud


Export uit MySQL database naar Windows PC


top-seve

Aanbevolen berichten

Hallo,

 

Kan iemand mij helpen met het volgende. Ik probeer een export uit een MySQL db (server) te doen naar een bestand op mijn eigen Windows PC. Iets als:

 

SELECT * FROM members ORDER BY id INTO OUTFILE 'C:\leden.txt' FIELDS TERMINATED BY '|'

 

Dit werkt niet. Graag een tip.

Als je veel leest hoef je minder te vragen...

Link naar reactie
Delen op andere sites


Ik vermoed dat het probleem in de target locatie zit. C:\ is geen valid path voor apache. Dat zou c:/ moeten zijn. Maar dan is weer de vraag of je daar schrijfrechten hebt.

Gebruik eens een path op je server, dan weet je tenminste of de query werkt. Zou moeten werken volgens mij.

Link naar reactie
Delen op andere sites

Wat voor een besturings systeem staat er op de server?

Je kan alleen op je lokale PC komen als je de drive mapped... Dat raad ik je niet aan.

Je kan beter myslqdump gebruiken wat het dan automatisch naar je toestuurt per email.

“Success is not final, failure is not fatal: it is the courage to continue that counts.” ~ Winston Churchill

Link naar reactie
Delen op andere sites

Origineel bericht van: Puch
query omkeren volgens deze site

SELECT * INTO OUTFILE 'C:\leden.txt' FIELDS TERMINATED BY '|' FROM members ORDER BY id


Maar dan komt de output nog steeds niet op de lokale PC disk, maar op de server disk. (Als dat al een Windows machine is!)

“Success is not final, failure is not fatal: it is the courage to continue that counts.” ~ Winston Churchill

Link naar reactie
Delen op andere sites

Dat zal ook niet lukken

 

Je kan nooit een file genereren en het laten opslaan buiten de server, vermits de map waar je het opslaat lees- ,schrijf- en uitvoerrechten moet hebben (777)

Je moet het eerst genereren op de server en het pas dan verwerken door het bijvoorbeeld naar je email adres te sturen.

 

Om het op de server te laten opslaan moet je het absolute pad opgeven vanaf de root naar de plaats waar je het bestand wil opslaan.

 

Het absolute pad kan je vinden in de adresbalk van een ftp programma

bv: /httpdocs/map_waar_je_de_file_wil/bestand.sql/

of met realpath() php functie.

iMac 27" macOS Sierra
iPhone 5s iOS 10

Link naar reactie
Delen op andere sites

euhh waarom doen jullie dat zo?

 

ga gewoon in je mysql administrator.

ga dan naar catalogs

open je db

en doe dan edit table data

doe dan gewoon een select * van je tabel

dan heb je alles

dan gewoon in een veld in je resultaat lijst klik je rechts en kies je voor : export resultset en kies het formaat.

 

et voila

si simple

 

succes

Link naar reactie
Delen op andere sites

@SatMann

 

Het probleem is niet dat ik geen export uit de db kan krijgen. Dat lukt prima met SQLyog. Ik wil dit opnemen in een script waarbij iemand met een druk op de knop deze export naar zich toe kan halen.

 

Het loopt stuk op de rechten. Terwijl ik deze op 777 heb gezet. (Error Code : 1045

Access denied for user 'naam'@'ip-adres' (using password: YES)

 

Als ik dit op kan lossen kan ik weer verder...

Als je veel leest hoef je minder te vragen...

Link naar reactie
Delen op andere sites

Ik gebruik deze class. Werkt voor mij perfect, misschien heb je er iets aan:

 

Php Code:

<?php/** Call script from HTML like so:  <form action="showdump.php" method="POST">		<input name='$tablename1' value='$tablename1' type='checkbox'>		<input name='$tablename2' value='$tablename2' type='checkbox'>		<input name='$tablename3' value='$tablename3' type='checkbox'>		<input type="submit" value="Dump Tables" />  </form>**/include_once ("path/to/mysql_data.inc.php");class MySQLDump {	var $mysqldump_version = "1.03";	var $output_messages = array();		function MySQLDump($host, $database, $username, $password) {		$this->mysql_host = $host;		$this->mysql_database = $database;		$this->mysql_username = $username;		$this->mysql_password = $password;		$this->headerssent = false;	}	function _dumpsqldata($filter='%') {		//ob_start("ob_gzhandler");		if(!$this->headerssent) {			header('Content-type: text/plain');			header('Content-Disposition: attachment; filename="' . $this->mysql_host . "_" . $this->mysql_database . "_" . date('YmdHis') . '.sql"');			$this->headerssent = true;		}		echo "/*mysqldump.php version ".$this->mysqldump_version." */\n";		$this->_mysqldump($filter);	}	function _dumpcsvdata($table) {		ob_start("ob_gzhandler");		header('Content-type: text/comma-separated-values');		header('Content-Disposition: attachment; filename="' . $this->mysql_host . "_" . $this->mysql_database . "_" . $table . "_" . date('YmdHis') . '.csv"');		$this->_mysqldump_csv($table);		header("Content-Length: " . ob_get_length());		ob_end_flush();	}	function _mysqldump_csv($table) {		$delimiter = ",";		if (isset($_REQUEST['csv_delimiter']))			$delimiter = $_REQUEST['csv_delimiter'];			if ('Tab' == $delimiter)			$delimiter = "\t";				$sql = "select * from `$table`;";		$result = mysql_query($sql);		if ($result) {			$num_rows = mysql_num_rows($result);			$num_fields = mysql_num_fields($result);				$i = 0;			while ($i < $num_fields) {				$meta = mysql_fetch_field($result, $i);				echo ($meta->name);				if ($i < $num_fields - 1)					echo "$delimiter";				$i++;			}			echo "\n";				if ($num_rows > 0) {				while ($row = mysql_fetch_row($result)) {					for ($i = 0; $i < $num_fields; $i++) {						echo mysql_real_escape_string($row[$i]);						if ($i < $num_fields - 1)							echo "$delimiter";					}					echo "\n";				}				}			mysql_free_result($result);		}	}			function _mysqldump($filter) {		if($filter == '' or $filter == '%') $sql = "show tables;";		else $sql = "show tables like '$filter';";		$result = mysql_query($sql);		if ($result) {			while ($row = mysql_fetch_row($result)) {				$this->_mysqldump_table_structure($row[0]);					if (isset($_REQUEST['sql_table_data'])) {					$this->_mysqldump_table_data($row[0]);				}			}		} else {			echo "/* no tables in ".$this->mysql_database." */\n";		}		mysql_free_result($result);	}		function _mysqldump_table_structure($table) {		echo "/* Table structure for table `$table` */\n";		if (isset($_REQUEST['sql_drop_table'])) {			echo "DROP TABLE IF EXISTS `$table`;\n\n";		}		if (isset($_REQUEST['sql_create_table'])) {				$sql = "show create table `$table`; ";			$result = mysql_query($sql);			if ($result) {				if ($row = mysql_fetch_assoc($result)) {					echo $row['Create Table'] . ";\n\n";				}			}			mysql_free_result($result);		}	}		function _mysqldump_table_data($table) {			$sql = "select * from `$table`;";		$result = mysql_query($sql);		if ($result) {			$num_rows = mysql_num_rows($result);			$num_fields = mysql_num_fields($result);				if ($num_rows > 0) {				echo "/* dumping data for table `$table` */\n";					$field_type = array();				$i = 0;				while ($i < $num_fields) {					$meta = mysql_fetch_field($result, $i);					array_push($field_type, $meta->type);					$i++;				}					//print_r( $field_type);				echo "insert into `$table` values\n";				$index = 0;				while ($row = mysql_fetch_row($result)) {					echo "(";					for ($i = 0; $i < $num_fields; $i++) {						if (is_null($row[$i]))							echo "null";						else {							switch ($field_type[$i]) {								case 'int':									echo $row[$i];									break;								case 'string':								case 'blob':								default:									echo "'" . mysql_real_escape_string($row[$i]) . "'";								}						}						if ($i < $num_fields - 1)							echo ",";					}					echo ")";						if ($index < $num_rows - 1)						echo ",";					else						echo ";";					echo "\n";						$index++;				}			}		}		mysql_free_result($result);		echo "\n";	}		function _mysql_test($errorsonly=FALSE) {		$this->link = mysql_connect($this->mysql_host, $this->mysql_username, $this->mysql_password);		if (!$this->link) {			array_push($this->output_messages, 'Could not connect: ' . mysql_error());		} else {			if(!$errorsonly) array_push($this->output_messages, "Connected with MySQL server:".$this->mysql_username."@".$this->mysql_host." successfully");			$db_selected = mysql_select_db($this->mysql_database, $this->link);			if (!$db_selected) {				array_push($this->output_messages, 'Can\'t use $mysql_database : ' . mysql_error());			} else {				if(!$errorsonly) array_push($this->output_messages, "Connected with MySQL database:".$this->mysql_database." successfully");			}		}	}}function debugArray($arr,$die=true) {	print "<pre>";	print_r($arr);	print "</pre>";	if($die) die();}function utime2timestamp($string2format) {	return date("Y/m/d - H:i:s", $string2format);}if (!is_array($_POST) or count($_POST) == 0) die('Sorry, nothing to display...');// init the class$MD = new MySQLDump($host,$database,$username,$password);// connect to database$MD->_mysql_test();foreach ($_POST as $key => $table) {	$_REQUEST['sql_drop_table'] = true;	$_REQUEST['sql_create_table'] = true;	$_REQUEST['sql_table_data'] = true;	$_REQUEST['output_format'] = 'SQL';	$_REQUEST['action'] = 'Export';	if ($key == $table) {		// no time limit		set_time_limit(0);		// dump data in sql format		$MD->_dumpsqldata($table);	} else {		print "[$key] => $table (Node & Value don't match...)<br>";	}}?>
Link naar reactie
Delen op andere sites

  • 2 weken later...

kwas da ook aan het denken, als hij er nu wel in geslaagd is of niet?

 

ik heb efkens op goegle gezocht wink

naar export mysql data recordset to excell

of

export mysql data recordset to csv

 

je vind wel hier en daar copy en past code :-)

 

 

Link naar reactie
Delen op andere sites

Maak een account aan of log in om te reageren

Je moet een lid zijn om een reactie te kunnen achterlaten

Account aanmaken

Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!

Registreer een nieuwe account

Inloggen

Heb je reeds een account? Log hier in.

Nu inloggen
  • Wie is er online   0 leden

    • Er zijn geen geregistreerde gebruikers deze pagina aan het bekijken
×
×
  • Nieuwe aanmaken...