Jump to content

Вопрос по seo url auto


Recommended Posts

DELIMITER $$

DROP FUNCTION IF EXISTS `_fs_transliterate_ru` $$
CREATE DEFINER=`root`@`localhost`
FUNCTION `_fs_transliterate_ru`(str TEXT CHARSET utf8)
  RETURNS text CHARSET utf8
DETERMINISTIC SQL SECURITY INVOKER
  BEGIN
    DECLARE strlow TEXT CHARSET utf8;
    DECLARE sym VARCHAR(3) CHARSET utf8;
    DECLARE prevsub VARCHAR(3) CHARSET utf8;
    DECLARE sub VARCHAR(3) CHARSET utf8;
    DECLARE res TEXT CHARSET utf8;
    DECLARE len INT(11);
    DECLARE i INT(11);
    DECLARE pos INT(11);
    DECLARE alphabeth VARCHAR(37) CHARSET utf8;

    SET i = 0;
    SET res = '';
    SET strlow = LOWER(str);
    SET len = CHAR_LENGTH(str);
    SET alphabeth = ' _.абвгдеёжзийклмнопрстуфхцчшщъыьэюя';

    /* идем циклом по символам строки */

    WHILE i < len DO

      SET i = i + 1;
      SET sym = SUBSTR(strlow, i, 1);
      SET pos = INSTR(alphabeth, sym);

      /*выполняем преобразование припомощи ф-ии ELT */

      IF sym >= '0' AND sym <= '9' OR sym >= 'a' AND sym <= 'z' OR sym = '-' THEN
        SET sub = sym;
      ELSE
        SET sub = elt(pos, '-', '-', '-',
                    'a','b','v','g', 'd', 'e', 'yo','zh', 'z',
                    'i','j','k','l', 'm', 'n', 'o', 'p', 'r',
                    's','t','u','f', 'h', 'c','ch','sh','sch',
                    '', 'y', '','e','yu','ya');

      END IF;

      IF sub IS NOT NULL AND NOT(sub = '-' AND prevsub = '-') THEN
        SET res = CONCAT(res, sub);
      END IF;

      SET prevsub = sub;

    END WHILE;

    RETURN res;
  END $$

DELIMITER ;

При выполнении запроса на хостинге в phpmyadmin выдает.

Ошибка
SQL запрос:


CREATE DEFINER=`root`@`localhost`
FUNCTION `_fs_transliterate_ru`(str TEXT CHARSET utf8)
  RETURNS text CHARSET utf8
DETERMINISTIC SQL SECURITY INVOKER
  BEGIN
    DECLARE strlow TEXT CHARSET utf8;
    DECLARE sym VARCHAR(3) CHARSET utf8;
    DECLARE prevsub VARCHAR(3) CHARSET utf8;
    DECLARE sub VARCHAR(3) CHARSET utf8;
    DECLARE res TEXT CHARSET utf8;
    DECLARE len INT(11);
    DECLARE i INT(11);
    DECLARE pos INT(11);
    DECLARE alphabeth VARCHAR(37) CHARSET utf8;

    SET i = 0;
    SET res = '';
    SET strlow = LOWER(str);
    SET len = CHAR_LENGTH(str);
    SET alphabeth = ' _.абвгдеёжзийклмнопрстуфхцчшщъыьэюя';

    /* идем циклом по символам строки */

    WHILE i < len DO

      SET i = i + 1;
      SET sym = SUBSTR(strlow, i, 1);
      SET pos = INSTR(alphabeth, sym);

      /*выполняем преобразование припомощи ф-ии ELT */

      IF sym >= '0' AND sym <= '9' OR sym >= 'a' AND sym <= 'z' OR sym = '-' THEN
        SET sub = sym;
      [...]
Ответ MySQL: Документация

#1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation

Что может быть? Подскажите? Хочу сделать красивые урл а адрес а не product_info.php/info/p2467_Pearl-3-2-9.html

Link to post
Share on other sites
51 минуту назад, ZM сказал:

DELIMITER $$

DROP FUNCTION IF EXISTS `_fs_transliterate_ru` $$
CREATE DEFINER=`root`@`localhost`
FUNCTION `_fs_transliterate_ru`(str TEXT CHARSET utf8)
  RETURNS text CHARSET utf8
DETERMINISTIC SQL SECURITY INVOKER
  BEGIN
    DECLARE strlow TEXT CHARSET utf8;
    DECLARE sym VARCHAR(3) CHARSET utf8;
    DECLARE prevsub VARCHAR(3) CHARSET utf8;
    DECLARE sub VARCHAR(3) CHARSET utf8;
    DECLARE res TEXT CHARSET utf8;
    DECLARE len INT(11);
    DECLARE i INT(11);
    DECLARE pos INT(11);
    DECLARE alphabeth VARCHAR(37) CHARSET utf8;

    SET i = 0;
    SET res = '';
    SET strlow = LOWER(str);
    SET len = CHAR_LENGTH(str);
    SET alphabeth = ' _.абвгдеёжзийклмнопрстуфхцчшщъыьэюя';

    /* идем циклом по символам строки */

    WHILE i < len DO

      SET i = i + 1;
      SET sym = SUBSTR(strlow, i, 1);
      SET pos = INSTR(alphabeth, sym);

      /*выполняем преобразование припомощи ф-ии ELT */

      IF sym >= '0' AND sym <= '9' OR sym >= 'a' AND sym <= 'z' OR sym = '-' THEN
        SET sub = sym;
      ELSE
        SET sub = elt(pos, '-', '-', '-',
                    'a','b','v','g', 'd', 'e', 'yo','zh', 'z',
                    'i','j','k','l', 'm', 'n', 'o', 'p', 'r',
                    's','t','u','f', 'h', 'c','ch','sh','sch',
                    '', 'y', '','e','yu','ya');

      END IF;

      IF sub IS NOT NULL AND NOT(sub = '-' AND prevsub = '-') THEN
        SET res = CONCAT(res, sub);
      END IF;

      SET prevsub = sub;

    END WHILE;

    RETURN res;
  END $$

DELIMITER ;

При выполнении запроса на хостинге в phpmyadmin выдает.


Ошибка
SQL запрос:


CREATE DEFINER=`root`@`localhost`
FUNCTION `_fs_transliterate_ru`(str TEXT CHARSET utf8)
  RETURNS text CHARSET utf8
DETERMINISTIC SQL SECURITY INVOKER
  BEGIN
    DECLARE strlow TEXT CHARSET utf8;
    DECLARE sym VARCHAR(3) CHARSET utf8;
    DECLARE prevsub VARCHAR(3) CHARSET utf8;
    DECLARE sub VARCHAR(3) CHARSET utf8;
    DECLARE res TEXT CHARSET utf8;
    DECLARE len INT(11);
    DECLARE i INT(11);
    DECLARE pos INT(11);
    DECLARE alphabeth VARCHAR(37) CHARSET utf8;

    SET i = 0;
    SET res = '';
    SET strlow = LOWER(str);
    SET len = CHAR_LENGTH(str);
    SET alphabeth = ' _.абвгдеёжзийклмнопрстуфхцчшщъыьэюя';

    /* идем циклом по символам строки */

    WHILE i < len DO

      SET i = i + 1;
      SET sym = SUBSTR(strlow, i, 1);
      SET pos = INSTR(alphabeth, sym);

      /*выполняем преобразование припомощи ф-ии ELT */

      IF sym >= '0' AND sym <= '9' OR sym >= 'a' AND sym <= 'z' OR sym = '-' THEN
        SET sub = sym;
      [...]
Ответ MySQL: Документация

#1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation

Что может быть? Подскажите? Хочу сделать красивые урл а адрес а не product_info.php/info/p2467_Pearl-3-2-9.html

Нет доступа.

Надо из под root пользователя выполнять этот запрос.

Link to post
Share on other sites

А как сделать для хостинга? чтобы указать свои?

Link to post
Share on other sites
7 минут назад, ZM сказал:

А как сделать для хостинга? чтобы указать свои?

Можно на локаьлном компе выполнить запрос, а затем сохранить базу в sql файлы или через резервное копирование в админке, и перенести эту базу уже на хостинг.

Link to post
Share on other sites
×
×
  • Create New...