Zpracování SQL dotazu z textarea

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
James
Člen | 54
+
0
-

Ahoj,

do formulářového prvku textarea vkládám text, jedná se o SQL dotaz. Po odeslání formuláře potřebuji vykonat SQL dotaz nad připojenou databází. Pokud mám pouze jednořádkový dotaz, vše proběhne v pořádku, ale pokud mám dotaz na více řádků, tak mi to hází chybu. Myslím si, že bude chyba někde v escapování vkládaného textu do textarea prvku. Takže kdyby někdo věděl jak správně escapovat text reprezentující SQL dotaz, budu rád za každou radu.

Továrnička na vytvoření komponenty:

public function createComponentSqlForm()
{
	$form = new Form();

	$form->addTextArea('sql', 'SQL příkaz:');
	$form->addSubmit('submit', 'Provést');

	$form->onSuccess[] = $this->sqlCommandFormSucceeded;
	return $form;
}

Zpracování formuláře:

public function sqlCommandFormSucceeded($form)
{
	$values = $form->getValues();

	$sql = $values->sql;

	$this->sqlCommand = Nette\Database\Helpers::dumpSql($sql);
	$this->sqlResult = $this->connection->executeSql($sql);
	Nette\Database\Helpers::dumpResult($this->sqlResult);
}

Model:

public function executeSql($sql)
{
	return $this->db->query($sql);
}

Potom mám ještě jeden dotaz, jestli zle nějak výstup z Nette\Database\Helpers::dumpResult() modifikovat ku obrazu svému a vykreslit tam, kde budu já chtít a nebo to funguje pouze pro ladící účely a podobně jako dump(), protože by se mi hodilo, kdyby šel tento výstup vložit do šablony a potom třeba nějak nastylovat.

Předem děkuji za rady.

honos
Člen | 109
+
0
-

Když ti to vyhazuje chybu tak je dobré uvest o jakou chybu se jedna. Jedna se o vice řadkovy dotaz nebo o vice dotazu na vice radcich? Hazis jablka a ocekavas palenku, co takhle jeste pridat cukr. Jakou chybu ti to hazi?

James
Člen | 54
+
0
-

honos napsal(a):

Když ti to vyhazuje chybu tak je dobré uvest o jakou chybu se jedna. Jedna se o vice řadkovy dotaz nebo o vice dotazu na vice radcich? Hazis jablka a ocekavas palenku, co takhle jeste pridat cukr. Jakou chybu ti to hazi?

Už se mi to podařilo vyřešit. I přes to děkuji za ochotu.

honos
Člen | 109
+
0
-

Nechceš se podělit o podrobnosti, pro budoucí generace? O co vlastně šlo a jaks to vyřešil :)