Autor Zpráva
midin
Profil *
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 *
Nemůže tam dát absolutní adresu někam k sobě, kam povolíte zápis?
midin
Profil *
nevím jak přesně, mohl by jste mi nastínit obecné řešení?
Kajman_
Profil *
SELECT * FROM markers INTO OUTFILE '/cesta/do/vaseho/adresare/v/ramci/filesystemu/zapisovatelny-adresar/data.csv' FIELDS TERMINATED BY ';'
midin
Profil *
'kde\zjistim\cestu\do\meho\adresare\v\ramci\filesystemu\na\hostingu\prominte\jsem\noob'
Kajman_
Profil *
Snad pomůže
phpinfo();
midin
Profil *
hm, neběhá
zřejmě je zakázaný into outfile
nebo nevim
TomášK
Profil
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 *
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
Toto téma je uzamčeno. Odpověď nelze zaslat.