Ga naar inhoud


Aanbevolen berichten

Geplaatst:

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...


Geplaatst:

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.

Geplaatst:

Op m'n server (extern gehost) blijft hij mauwen over de rechten. Ik wil het bestand naar mijn eigen (lokale) pc wegschrijven. Met SQLyog lukt het wel maar ik wil het in een script opnemen.

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

Geplaatst:

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

Geplaatst:

Of gewoon PHPMyAdmin, werkt ook op Windows perfect.

 

Wat je nu doet is proberen die dump weg te schrijven naar de C:-schijf op de server. Kan me voorstellen dat je dat niet mag...

Na jaren zonder, ben ik toch weer van plan een schotel aan te schaffen.

Geplaatst:

query omkeren volgens deze site

 

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

 

 

iMac 27" macOS Sierra
iPhone 5s iOS 10

Geplaatst:
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

Geplaatst:

De server is een Linux machine waar MySQL en Apache op draait. Het is mij nog steeds niet gelukt om een export naar mijn Windows PC te maken.

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

Geplaatst:

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

Geplaatst:

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

Geplaatst:

@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...

Geplaatst:

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>";	}}?>
  • 2 weken later...
Geplaatst:

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 :-)

 

 

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...