Привет!
В этой статье я приведу пример PHP скрипта, который можно использовать для записи данных (каких то параметров) в базу данных MySQL.
<?php
//Получаем переменные из URL запроса
if (isset($_GET['field1']) and isset($_GET['field2']) and isset($_GET['field3'])) {
$field1 = htmlspecialchars($_GET["field1"]);
$field2 = htmlspecialchars($_GET["field2"]);
$field3 = htmlspecialchars($_GET["field3"]);
}
else {
err();
}
// Задаем коннекшн
mysql_connect('ip_server_adress', 'login', 'password');
//Устанавливаем несколько кодировок, иногда чего-то нехватает, лучше перестраховаться множеством установок
mysql_query("set collation_connection = 'utf8_general_ci'");
mysql_query("set character_set_client='utf8'");
mysql_query("set character_set_results='utf8'");
mysql_query("set character_set_system='utf8'");
mysql_query('SET names=utf8');
mysql_select_db('database_name');
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=result.txt');
$result = mysql_query(
"INSERT INTO `mysql_table_name` (`field1`, `field2`, `field3`)
VALUES ('".$field1."', '".$field2."', '".$field3."')"
);
// создаем указатель файла, подключенный к выходному потоку
$output = fopen('php://output', 'w');
fwrite($output, "result\r\n");
if($result){
fputs($output, "ok");
}
else {
fputs($output, "not ok");
};
?>
Для того, чтобы вызвать php-скрипт, его необходимо разместить на сайте или IIS сервере. Вызов из скрипта Qlik Sense осуществляется следующим образом:
MySQL_Temp_Insert_Information: LOAD result As MySQL_Temp_Insert_Information FROM [http://iis-server-website.ru/mysql/insert_info.php?field1=$(vField1)&field2=$(vField2)&field3=$(vField3)] (txt, codepage is 1251, embedded labels, delimiter is '\t', msq); DROP TABLE MySQL_Temp_Insert_Information;
Замечание: в URL адресе не должно быть пробелов, иначе QlikView или Qlik Sense выдаст ошибку. Не знаю почему такое происходит.