top-seve Geplaatst: 19 oktober 2009 Geplaatst: 19 oktober 2009 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...
Duwgati Geplaatst: 19 oktober 2009 Geplaatst: 19 oktober 2009 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.
top-seve Geplaatst: 19 oktober 2009 Auteur Geplaatst: 19 oktober 2009 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...
Big fellow Geplaatst: 19 oktober 2009 Geplaatst: 19 oktober 2009 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
EL PIÑO Geplaatst: 19 oktober 2009 Geplaatst: 19 oktober 2009 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.
Puch Geplaatst: 19 oktober 2009 Geplaatst: 19 oktober 2009 query omkeren volgens deze site SELECT * INTO OUTFILE 'C:\leden.txt' FIELDS TERMINATED BY '|' FROM members ORDER BY id iMac 27" macOS SierraiPhone 5s iOS 10
Big fellow Geplaatst: 20 oktober 2009 Geplaatst: 20 oktober 2009 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
top-seve Geplaatst: 20 oktober 2009 Auteur Geplaatst: 20 oktober 2009 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...
Puch Geplaatst: 20 oktober 2009 Geplaatst: 20 oktober 2009 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 SierraiPhone 5s iOS 10
Gast SatMann Geplaatst: 20 oktober 2009 Geplaatst: 20 oktober 2009 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
top-seve Geplaatst: 20 oktober 2009 Auteur Geplaatst: 20 oktober 2009 @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...
Duwgati Geplaatst: 20 oktober 2009 Geplaatst: 20 oktober 2009 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>"; }}?>
top-seve Geplaatst: 20 oktober 2009 Auteur Geplaatst: 20 oktober 2009 Ik ga er mee aan de gang. Bedankt! Als je veel leest hoef je minder te vragen...
Duwgati Geplaatst: 29 oktober 2009 Geplaatst: 29 oktober 2009 Ik was wel benieuwd Top-seve, is het eigenlijk nog gelukt met die export?
Gast SatMann Geplaatst: 29 oktober 2009 Geplaatst: 29 oktober 2009 kwas da ook aan het denken, als hij er nu wel in geslaagd is of niet? ik heb efkens op goegle gezocht naar export mysql data recordset to excell of export mysql data recordset to csv je vind wel hier en daar copy en past code :-)
Aanbevolen berichten
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 accountInloggen
Heb je reeds een account? Log hier in.
Nu inloggen