Autor | Zpráva | ||
---|---|---|---|
midin Profil * |
#1 · Zasláno: 5. 8. 2009, 15:59:08
Dobrý den, mám php skript na ic.cz pro převod z mysql do formátu csv:
<?php require("db_ic.php"); mb_language("uni"); mb_internal_encoding("UTF-8"); $connection=mysql_connect ($host,$user,$pass); if (!$connection) { die('Not connected : ' . mysql_error()); } $db_selected = mysql_select_db($db, $connection); if (!$db_selected) { die ('Can\'t use db : ' . mysql_error()); } mysql_query("SET NAMES UTF8"); $sql_query = "SELECT * FROM markers INTO OUTFILE 'data.csv' FIELDS TERMINATED BY ';'"; $result = mysql_query($sql_query); if (!$result) { die('Invalid query: ' . mysql_error()); } ?> Avšak server hlásí Invalid query Access denied pro usera. Zjednodušeně, nevíte jak změnit datadir na freehostingu, popř. nastavit práva pro stáhnutí souboru? Je zakázaný into outfile nebo jen špatně přistupuji k souboru? datadir na ic.cz je '\usr\local\mysql\data'. Díky za odpovědi, midin |
||
Kajman_ Profil * |
#2 · Zasláno: 5. 8. 2009, 23:03:05
Nemůže tam dát absolutní adresu někam k sobě, kam povolíte zápis?
|
||
midin Profil * |
#3 · Zasláno: 6. 8. 2009, 00:15:15
nevím jak přesně, mohl by jste mi nastínit obecné řešení?
|
||
Kajman_ Profil * |
#4 · Zasláno: 6. 8. 2009, 10:17:15
SELECT * FROM markers INTO OUTFILE '/cesta/do/vaseho/adresare/v/ramci/filesystemu/zapisovatelny-adresar/data.csv' FIELDS TERMINATED BY ';' |
||
midin Profil * |
#5 · Zasláno: 6. 8. 2009, 10:49:36
'kde\zjistim\cestu\do\meho\adresare\v\ramci\filesystemu\na\hostingu\prominte\jsem\noob'
|
||
Kajman_ Profil * |
#6 · Zasláno: 6. 8. 2009, 12:20:58
Snad pomůže
phpinfo(); |
||
midin Profil * |
#7 · Zasláno: 6. 8. 2009, 13:55:56
hm, neběhá
zřejmě je zakázaný into outfile nebo nevim |
||
TomášK Profil |
#8 · Zasláno: 6. 8. 2009, 14:10:38
Je potřeba zjistit, na které úrovni je problém. Buď může být na úrovni MySQL - nemáte právo pro
spuštění SELECT INTO OUTFILE. To lze zjistit příkazem SHOW GRANTS; Je potřeba, abyste měl právo FILE. Je možné, že tam bude nějakým způsobem 'vyhvězdičkované', viz dokumentace Pokud toto právo máte, pak pravděpodobně zkoušíte vytvořit soubor ve složce, do které uživatel, pod kterým běží MySQL server, nemá právo zápisu. To bych ověřil tak, že pomocí výše zmiňovaného phpinfo zjistíte svůj domovský adresář a dočasně v něm vytvoříte nějaký adresář, kterému nastavíte práva 'všechno pro všechny' a zkusíte to zapsat do něj. Ale tipnul bych si, že je spíš zakázanný ten select into outfile. |
||
midin Profil * |
#9 · Zasláno: 6. 8. 2009, 16:45:49
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON
Takže padla. Nicméně, děkuji za seriózní odpověď. midin |
||
Časová prodleva: 15 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0