Задать вопрос
  • Как сделать insert свыше 1000 строк?

    rozhnev
    @rozhnev
    Fullstack programmer, DBA, медленно, дорого
    Во первых это не MySQL, а MS SQL Server.
    Во вторых документация говопит:

    Ограничения
    При использовании в виде производной таблицы ограничение на количество строк отсутствует.

    При использовании в виде предложения VALUES инструкции INSERT... VALUES применяется ограничение в размере 1000 строк. Если число строк превышает 1000, возвращается ошибка 10738. Чтобы вставить более 1000 строк, используйте один из следующих методов:

    Создайте несколько инструкций INSERT

    Используйте производную таблицу

    Выполните массовый импорт данных, используя служебную программу bcp, класс SqlBulkCopy .NET, OPENROWSET (BULK ...) или инструкцию BULK INSERT.
    Ответ написан
    Комментировать
  • Не работает локализация setlocale в PHP?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    $fmt = new IntlDateFormatter(
        locale: "ru_RU",
        timezone: 'Europe/Moscow',
        pattern: 'EEEE, d MMMM yyyy'
    );
    print $fmt->format(new DateTimeImmutable());
    // суббота, 6 мая 2023
    Ответ написан
    Комментировать
  • Как перевести строку со шрифтом в обычный текст?

    Vindicar
    @Vindicar
    RTFM!
    Встроенной функции нет. И похоже, что речь идёт не столько о разных шрифтах, а сколько о гомоглифах - символах юникода из разных алфавитов, которые выглядят похоже. Например, как русское и латинское "о". Это нетривиальная задача, но пакет confusable_homoglyphs (ставится через pip) может помочь. В частности, функция is_confusable().
    from confusable_homoglyphs.confusables import is_confusable
    
    
    wtf = 'YOᑌ ᑎᗩᗰE 42'
    
    is_good = []
    result = []
    for c in wtf:
        data = is_confusable(c, preferred_aliases=[], greedy=True)
        if data:
            data = data[0]
            alias = data['alias']
            if alias in ('LATIN', 'COMMON'):
                data = False
        if data:
            is_good.append('!')
            print(data)
            result.append(data['homoglyphs'][0]['c'])
        else:
            is_good.append(' ')
            result.append(c)
        print()
    print(''.join(result))
    print(''.join(is_good))

    Работает неидеально, но настройки модуля лежат в JSON - можно кое-что поправить. Или создать issue на гитхабе проекта.

    Конечно, можно извратиться, отрендерить строку и прогнать по ней OCR, но это такая себе идея.
    Ответ написан
    1 комментарий
  • Mini pc как сервер MySQL?

    @Drno
    Любой... где на материнки есть 2 sata )

    но так то проще арендовать VPS, т.к. это будет дешевле чем комп собирать
    Ответ написан
    Комментировать
  • Защита ajax от имитации?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    Авторизацию добавьте на сайт, чтобы понимать кто шлёт запрос и реагировать соответствующе.
    Ответ написан
    6 комментариев
  • Как tilda хостит сайты?

    @vitaly_il1
    DevOps Consulting
    Посмотрите на highscalability.com/blog/category/example - там есть разбор реальных архитектур. Tilda там нет, но есть например Wix - правда в эпоху до Docker. Но принципы те же.
    Ответ написан
    Комментировать
  • Как правильно подружить Vue и php?

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    а vue выступает сугубо в роли небольших компонентов на разных страницах

    Исходя из этого я могу предположить, что подобные виджетики скорее всего не нуждаются в серверном рендере, а значит все довольно просто.
    Настраиваем любой сборщик (webpack, vite). На входе будет какой-нибудь main.js, на выходе готовый файл (по умолчанию), пара файлов (main и vendor, если настроили разделение) или больше, в зависимости от хитрожопости настроек. Вот эти файлы и подключаем (соблюдая порядок, если их несколько, например vendor перед main)

    В main можно писать весь фронт сайта, или модульно импортировать.
    Туда же подключается вью и компоненты ваших виджетов

    import Vue from 'vue';
    import Calculator from './calc/Calculator.vue';


    На странице, где нужно вставить компонент пишем нечто вроде

    <div class="calc"></div>

    Сюда будет рендериться компонент в рантайме. Например так (в том же main.js)

    document.querySelectorAll('.calc').forEach(el => {
        new Vue({
            el    : el,
            render: h => h(Calculator, {
                props: {
                   /// Пропсы, если надо
                },
            }),
        });
    });


    То есть каждый виджет в этом случае будет независимым vue приложением.

    Если нужно передавать в компоненты какие-то данные, то можно научить компонент самому их запрашивать. Но тут придется отдельные роуты создавать. Или прямо на страницу в head выплевывать их в виде json

    <script>window.calcData = <?= json_encode($calcData) ?>;</script>


    а в компоненте по mounted их доставать

    mounted() {
      const d = window.calcData;
    }
    Ответ написан
    1 комментарий
  • Как написать правильно регулярное выражение для получения всей строки с неизвестными символами?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    /(\d+:\w+)/us
    Ответ написан
    Комментировать
  • Как работает кошелек https://t.me/CryptoBot?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Я так понял авторы кошелька честно-честно только подержат ваш денежки у себя для вашего же удобства. Вы их переведете сами на их кошелёчек, а они помогут удобненько ими пользоваться. Нет, конечно же они не исчезнут поработав немного на репутацию пока не наберется ощутимая сумма. Какой в этом интерес? =) Ну вы понимаете...
    Ответ написан
    21 комментарий
  • Как посмотреть что лежит в переменной?

    Stalker_RED
    @Stalker_RED
    Можно сделать так
    $dump = var_export($val, true);
    error_log($dump, 3, '/path/to/myLog.txt');

    Ещё лучше - научиться пользоваться дебаггером.
    Ответ написан
    Комментировать
  • Как исправить ошибку с кавычками в sqlite3?

    hottabxp
    @hottabxp Куратор тега Python
    Сначала мы жили бедно, а потом нас обокрали..
    ('INSERT INTO messages (message_text) VALUES (?)',(message_text,))
    Ответ написан
    Комментировать
  • Как заполнить таблицу в MySQL через файл?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Изучите внимательно документацию по LOAD DATA.

    Во-первых, необходимо правильно указывать опции парсинга - разделитель, терминатор, квотирование и пр.

    Во-вторых, хорошим тоном считается указывать не только таблицу назначения, но и конкретные поля. А если импортируемый файл содержит данные не для всех полей, или порядок полей в файле и таблице не совпадает, то указание полей становится просто-таки обязательным и необходимым.

    В третьих, если данные не могут импортироваться напрямую, или если в процессе импорта необходима какая-то обработка импортируемых данных (например, корректировка формата даты), то следует использовать ещё Input Preprocessing - обработку данных между чтением из файла и записью в таблицу.

    id у меня auto-increment, пробовала и NULL, и 0, и просто цифрами заполнять - ни в какую.

    Пункт "во-вторых" в полный рост.

    Ну и любопытно, где именно Вы пробовали и NULL, и 0, и просто цифрами заполнять - в показанном Вами запросе под это просто нет места.
    Ответ написан
    Комментировать
  • Почему запрос SQL не проходит без GROUP BY?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Потому что это азы SQL: если в выражении есть и агрегирующая функция, и просто неагрегируемые значения, то необходимо явным образом указать, что нужно по ним группировать.
    Ответ написан
    3 комментария
  • Как произвести изменения в детальной карточки товара?

    У вас два пути:
    1. Изучить Битрикс (и веб-разработку в целом).
    2. Заплатить профессионалам, которые уже всё это знают.

    По картинке диагностировать проблему мы не можем и объяснять вам направление для решения задачи (выяснить через DevTools что именно создаёт "пустоты" и дальше редактировать либо шаблон компонента, либо стили шаблона сайта), судя по содержанию вопроса, тоже бесполезно.
    Ответ написан
    6 комментариев
  • Как вставить переменную в sql запрос python?

    ramzis
    @ramzis
    FullStackOverflow
    sql = "UPDATE `users` SET `message` = %s WHERE `id` = %s"
    cursor.execute(sql, (random[0], user[0]))
    Ответ написан
    Комментировать
  • Как передать в функцию с sqlite запросом, название переменной?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Если вам такое понадобилось, значит вы не понимаете принципы работы реляционных баз данных. Схема должна быть статична и известна до запуска кода. Исключения возможны в редких случаях, вроде написания ORM, но и тогда sql-запрос собирается не с помощью prepared statements и тем более не интерполяцией, форматированием или конкатенацией строк.
    Ответ написан
    Комментировать
  • Как правильно составить данный запрос?

    iMedved2009
    @iMedved2009
    Не люблю людей
    Тогда у вас какая то странная структура.

    наверное вам надо как-то так

    https://sqlize.online/sql/mariadb/ed3f54e80ceedc7d...
    select 
      users.id, users.name, group_concat(country.country) as visited 
    from 
      users
    left join user_to_country on user_to_country.user_id = users.id
    left join country on user_to_country.country_id = country.id
    where u_status = 1 
    group by users.id, users.name;
    Ответ написан
    1 комментарий
  • Как правильно составить данный запрос?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Перефразируя ваш вопрос - как получить несколько строк с одним и тем же пользователем, если в запросе стоит, что для каждого пользователя должна быть только одна строка (GROUP BY users.id).
    Ответ - никак.
    Ответ написан
    Комментировать
  • Какие могут быть вероятные причины, когда база данных не выдает ошибок и перестала выводить посты?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    0) Проверить лог ошибок или добавить в код выше
    ini_set('error_reporting',E_ALL);
    ini_set('display_errors', 1);
    и убедиться что ошибок выполнения нет. Естественно, подключение должно быть настроено на вывод ошибок. Так же убрать бессмысленный биндинг $stmt->execute(['id'=>id]);, где внутри даже не переменная, а какая-то фигня...
    1) Проверить запрос в консоли или в phpmyadmin
    2) В случае если запрос ничего не выдает - удалить строки INNER JOIN category ON category.id=post.cat_id, выполнить запрос
    3) Если выдает что-либо, значит таблица с категориями пострадала, проверить выведенные посты на номер категории, и посмотреть что стало с этими записями в таблице category.
    4) Если не выводит - повторить пункт 3 со строкой INNER JOIN users ON post.user_id = users.id, со всеми вытекающими.
    Ответ написан
    6 комментариев