Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Что будет если объявить двум элементам один id?

Лучший ответ:
<img data-id="uuid" />
<p data-id="uuid" >text</p>
querySelectorAll('[data-id="uuid" ]');

можно ли объявить двум элементам один id 
Можно, но в приличном обществе могут ударить по лицу за такое.

Худший ответ:
конечно же можно
и не слушай маньяков которые внушили себе что нельзя

это не вызывает ошибку

технически это просто обычный атрибут объекта внутри которого текст
не важно как он называется - id или class

можно конечно же в команде договориться об уникальности id
а можно не заморачиваться

откуда ноги растут у этой догмы?
есть такая нестандартная но везде поддерживаемая фишка - браузер автоматически создает переменную одноименную с ид
и ты можешь сразу использовать эту переменную не обьявляя ее
если хочешь пользоваться этим то да, ид должен быть уникальным
но когда в документе несколько одинаковых ид то просто используй квериселектор(#)
Вопрос: Как при создании объекта класса методом load добавить значение его свойства без ___construct?

Лучший ответ:
Можно модифицировать для цепочного синтаксиса метод
/**
     * @param $val
     * @return $this
     */
    public    function setProp($val){
        $this->property = $val;
        return $this;
    }

Или быть проще и в методе load использовать переменную
$instance = new MyClass() ; // Попутно Класс с большой буквы чтобы отличать от объекта созданного из него
$instance->setProp();
return $instance;

Худший ответ:
return $this; спасибо помогли!!!
Или быть проще и в методе load использовать переменную можно пример
Вопрос: Поднятие домашнего облака nextcloud. Опыт использования. На apache или nginx?

Лучший ответ:
ДЛя пары пользователей - апач, нет смысл заморачиваться с nginx
базу данных, если много файлов - postgres, она явно быстрее работает
И да, ставить некстклауд, он бесплатный

Худший ответ:
У меня на Atom N2800 и 2GB RAM nextcloud работает на nginx units. Перешёл совсем недавно с nginx + php-fpm. Сложно какие-то метрике привести, но субъективно стал шустрее работать, потребляя в разы меньше RAM. Сейчас это ~150 мб, а с php-fpm было ~700 (приходилось держать 10 воркеров иначе всё было очень медленно). Особенно заметно при просмотре видео с NC в браузере, когда файл отдаётся каким-то чанками, какие-то xml манифесты для него отдаются. С nginx units это сильно быстрее стало ворочаться.
До этого я долго с php-fpm возился, но заметно ускорить работу не получилось. nginx units у меня дефолтные настройки.
Вопрос: Прерывается копирование через rdp, можно ли исправить?

Лучший ответ:
Прерывается копирование через rdp, можно ли исправить?Да, просто не работайте с буфером обмена во время копирования. 

И тяжелые файлы через буфер обмена тащить по RDP не лучшая затея.  Он предназначен для передачи текста и мелких файлов, а не для передачи файлов в десятки мегабайт на удаленную машину.

Худший ответ:
Копирование в проводнике использует буфер обмена. Как только он кончается на одной из машин - оно "прерывается". Используйте любой другой способ копирования, который не писали сумрачные гении. Например Far Manager (на удаленную машину из терминальной сессии заходите через сетевое окружение командой cd \\tsclient).
Вопрос: Какова правда в работе и обучении будущего ИБшника?

Лучший ответ:
Да, ИБ, это тоже самое, что и безопасность труда или пожарная безопасность и т.д., это вообще не про хакеров и подобную романтику которую показывают в кино. Это бумажки, тонным бумажек, куча ведомственный регламентов, распоряжений и инструкций весьма сомнительного качества, часто противоречивых, на основании которых вам нужно генерировать свои тонны бумажек и журналов, собирать подписи об ознакомлении и т.д.

Практический инфобез, имхо такой специальности на данный момент не существует в природе, люди в нее приходят из разных направлений и нет никакой программы обучения, поскольку эта область очень обширна.

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

Худший ответ:
Специальность 10.05.02 Информационная безопасность телекоммуникационных систем. Проступайте и учитесь, ну или хотяб ознакомьтесь с перечнем базовых предметов, которыми нужно овладеть.
Вопрос: Не импортируется pyautogui, что делать?

Лучший ответ:
Видимо, вы поставили модуль глобально, а в PyCharm, как видно,используете virtual environment.

Худший ответ:
Уже +100500 подтверждение, что PyCharm не нужен новичкам. Там много того, что не нужно новичкам на первых порах. При создании проекта PyCharm создает виртуальное окружение. В него нужно установить нужные пакеты:
Вопрос: Обращение к записи БД требует некоторой обработки. Что лучше: обработать в скрипте, который обратился, или в хранимой процедуре в БД?

Лучший ответ:
Прежде чем всё это усложнять описанным вами способом, необходимо определиться с ожидаемыми количествами. Насколько много всего будет переменных, насколько много может быть этих объектов, какие ожидаются частоты этих ваших обращений.
Ещё нужно определиться как вы планируете редактировать наборы изменяемых переменных. Запишете прямо в БД руками, или нужно делать API для редактирования списков?
Вы собираетесь скрипт запускать при каждом поступлении новой порции данных? Может правильнее запустить его на ожидание порций из пайпа? Или АПИ сделать поверх http.

По существу вопроса. Минус хранимых процедур в том, что это код, который хранится вместе с данными. Нужно делать отдельные специфические "приседания", чтобы правильно деплоить и обновлять такой код, хранить его в системе контроля версий, мигрировать от версии к версии...
Быстродействие в обоих случаях будет зависеть от конкретных действий, которые вы будете каждый раз повторять при "обращениях". Однако при наличии "бутылочного горлышка" в этом месте при реализации через хранимые процедуры вы уже мало что там можете сделать. А вот в коде на питоне можно при необходимости добавить воркеров и таски на длительные операции передавать им через очередь.

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

Худший ответ:
Храните данные в базе это хранилище,  а код выполняйте в скрипте.
Вопрос: Как из аналогового сигнала получить вольты?

Лучший ответ:
На ардуино есть отличная функция map и на англ., для преобразования диапазонов.
spoiler
_______________________Математически функция map() может быть записана так:

long map(long x, long in_min, long in_max, long out_min, long out_max)
{
  return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
//а если заменить long на float или double, то она будет работать с плавающей точкой
//и соответственно изменить имя функции, что бы оно не пересекалось с родной библиотекой ардуины
_______________________

Если считать в милливольтах, т.е.
y = map(x, 0, 1023, 0, 5000), т.е. 1023 - соответствует 5000 мВ, т.е. 5 В.

Если надо можно сделать на ее основе свою, но переваривающую плавающие точки. Только помните, что плавающие точки считать немного дольше, чем целые числа.

Худший ответ:
Тащем-то, если в ЕГЭ не кончал, то есть т.н. "пропорции". Если А/Б=В/Г, то В=А*Г/Б.
Тут, конечно, может быть более сложный случай - опорное напряжение может отличаться от 5 В. Но принципиальных отличий нет.
Вопрос: Как найти формулу для закругленного пентагона?

Лучший ответ:
Вот так вроде 

snippet

Худший ответ:
Проще и понятней сделать через clip-path: (#url)чем непонятно с какой целью рисовать сложные фигурки. Просто залейте фигуру в svg и вставьте этот svg-код в свой код страницы, а потом используя её ID обрезайте любые изображение сколько угодно раз.
Вопрос: Почему не получается научиться верстать?

Лучший ответ:
Повторяя за кем-то написание кода, верстать не научишься.

Но когда начинаю сам верстать макет который еще не верстали на ютубе, то начинаются какие то сложности.

А вот тут как раз и начинается "учение".
Решайте эти проблемы самостоятельно. Гуглите, задавайте вопросы.

Худший ответ:
Вот вот, тоже смотрел по ютубу, вроде не так и сложно, понятно. Верстка это же изи, вон как просто верстают, взяли макет и за час болтая накидали. А потом начнешь сам делать и там такая туча нюансов повылазит, охренеть. И теперь понимаешь что верстка это не так и просто.
Практиковаться, что же ещё делать.
Здоровы бы ментора найти, который подскажет чё да как, направит. Я вот пока сам учился дело туго шло, а когда на курсы пришел в компанию, так раз в 10 ускорилось обучение, объяснили то как реально, на практике делают, кучу полезных фич рассказали.
Вопрос: Произвольно пропадает Wi-Fi на ноутбуке. В чем может быть трабл?

Лучший ответ:
За wi-fi отвечает вот такая штучка. Её, скорей всего, под замену. Цена ей рублей 500. Обычно замена происходит без танцев с бубном, но иногда и с танцами, гугл поможет.


Худший ответ:
Поддерживаю ответ, который дал Владимир 
Но есть и альтернативное решение:
https://market.yandex.ru/search?text=wi-fi%20usb%2...
Вопрос: Как найти ключ объекта с максимальным значением в массиве?

Лучший ответ:
Ну можно так. Не знаю насколько это блистательнее и точно не короче, но зато за один проход и без не нужной сортировки массива.

const arr = [{a:5},{d:6},{g:0},{b:3},{c:1}];
let max = null;
let result;

for (const currentObj of arr) {
  const currentValue = currentObj[Object.keys(currentObj)[0]];
  const currentKey = Object.keys(currentObj)[0];

  if (max < currentObj[currentKey] || max === null) {
    max = currentValue;
    result = currentKey;
  }
}
console.log(result);

Худший ответ:
хз на сколько это адекватнее) ну можно хранить отдельно ключ и значение
let max = arr[0]
arr.slice(1).forEach(function(elem) {if(Object.values(max)[0]<Object.values(elem)[0]) {max = elem}});
Вопрос: Сервер для 1с предприятия?

Лучший ответ:
Начать надо с вопроса - сколько на это все есть денег? Это серверное железо можно бу купить и оно еще лет десять отходит. А вот сама 1С, mssql, винда etc. - это все денег стоит.

Худший ответ:
Количество юзеров у вас небольшое. По соотношению производительность/стоимость конечно же мощный ПК сделает сервер если не в разы, то около того. То есть вы можете поставить ПК на базе последнего поколения Ryzen/i7 и вам этого наверняка хватит. Стоить будет значительно дешевле сервера начального уровня и работать будет значительно шустрее. Но возникает вопрос администрирования и надежности. У ПК обычно нет ECC памяти и сдвоенных блоков питания, а так же средств диагностики и удаленного управления.  Выбор за вами. Нужно посчитать все решение на сервере и посмотреть можете ли вы себе его позволить. В решение должны войти железка, лицензии МС, ИБП, хранилка для бэкапов или просто съемный диск.
Делать файловый вариант в данном случае не стоит. Либо терминальный либо веб публикацию если конфига позволяет, либо серверный.
По архитектуре решения.
Самый дешевый вариант - веб публикация. Не требует никаких доп лицензий. Но нужно убедиться что конфигурация поддерживает. Можно хоть сейчас попробовать, проверить устраивает ли вариант.
Вариант подороже это терминальный доступ + файловая база. Наверное оптимальный для 5-15 юзеров. Нужно будет купить win srv (40k) + TS CAL(5k*10).
Сервер 1с предприятия наверное будет перебор на 10 юзеров. 60-90к на саму лицензию сервера + еще на лицензию МС SQL или ковырять postgre который на Win не дает хороших результатов. С другой стороны тогда можно не покупать терминальные лицензии.
Посчитайте все варианты, сведите в табличку и поймете на что хватает, на что не очень.
Вопрос: Существуют ли сервисы, отдающие цены по штрихкоду?

Лучший ответ:
Даже в рамках одной сети магазинов один и тот же товар даже в одном городе может иметь разные цены.
В общем, не слышал про такие сервисы и не верю в возможность их существования.

Худший ответ:
Штрих код не несет в себе цену, только идентификатор, без привязки ко внутренней системе товарооборота магазина/фирмы.
Вопрос: Как восстановить данные с жёсткого диска?

Лучший ответ:
Нечего даже и пытаться восстанавливать. Это потенциально опасно для данных. Если данные действительно важны, несите в фирму по восстановлению данных.

Худший ответ:
Возможно во время удара головки залетели на диск и так и застряли, а при подключении диск не может стартануть...При подключении к компу, писков тихих он не издает случайно? Если слышно как он пытается прокрутить блин диска, то можно попробовать вскрыть его и вернуть головки на место (в интернете есть много видео как делать сделать это аккуратно), но после этого диск нельзя уже будет использовать в будущем, надо в течении часа буквально, скинуть всю инфу на другой диск, потому как после разгерметизации, он проживет не более нескольких часов
Вопрос: Апгрейд HP 250 G5. Можно ли засунуть 2 накопителя?

Лучший ответ:
1. Разобрать
2.1. Если есть переходная планка со шлейфа на mini-sata, то Вам люто повезло и можно переходить к п.3
2.2. Если планки нет, но есть разъем JODD - то ползете на авито/ебэй/разборки/мастерские в поисках планки со шлейфои и после переходите к п.3.
2.3. Если разъем JODD не распаян - значит второй порт на плате не вывели и тут уже спасет только USB-HDD.
3. Купить HDD-CADDY и вставить диск

Худший ответ:
Убрать оптический диск и вставить на его место заглушку со слотом для ssd
Вопрос: Системные прерывания загружают процессор на 100%, как исправить?

Лучший ответ:
1) Переставить наконец форточку на чисто.

После любой вирусной инвазии компьютер, и все подключенные к нему накопители считаются скомпрометированными и подлежат зачистке путем форматирования начисто. После этого можно накатывать ОС и данные из бекапов.

Худший ответ:
В 99% случаев невозможно полноценно вылечить ПК после заражения, что-то обязательно останется испорченным. Попробуй форматнуть диск и новую винду накатить.
Ещё ноут старый, так что есть смысл программой InSpectre отключить защиту от Спектр и Мельтдаун. На старых компах эта защита заметно влияет на ввод-вывод всех усройств, включая диск и сеть.
Вопрос: Как с помощью микротика исключить «лишнее» устройство?

Лучший ответ:
По той инфе что ты дал никто ничего не поймет. Набор ни о чем не говорящих цифр и блоков. Что за зте, что оно делает ? Роутер это или воип-шлюз оператора?

Худший ответ:
Насколько я понял ситуацию - ZTE  это роутер который делает стандартный NAT и все.
Поэтому втыкаете в свободный порт микротика, который не в бридже, настраиваете на нем нужный IP (или dhcp client) и прописываете маршрут на адрес сервера телефонии, чтобы он шел не через основной шлюз, а через этот адрес.
В общем то ничего сложного.
Но есть нюансы - провайдер телефонии может  запретить использовать левое оборудование. В общем с ним надо разговаривать, обычно люди достаточно адекватные и ситуация решается без проблем.
Звоните провайдеру телефонии и говорите - хочу выкинуть вашу железку, и воткнуть в свой роутер - дайте настройки вместо оборудования ( тип получения IP, сеть, адрес сервера телефонии.

Возможно что в итоге от шнурка можно будет совсем отказаться - если оператор телефонии разрешит доступ к своему серверу с вашего белого адреса 8.8.8.8
Вопрос: Как правильно остановить программу?

Лучший ответ:
Для того, чтобы посмотреть вывод программы, ее вовсе не надо останавливать - достаточно настроить IDE так, чтобы она не закрывала терминал после завершения программы.

Если сильно хочется, можно использовать вот такой код:
#include <ios>      // Required for streamsize
#include <iostream>
#include <istream>
#include <limits>   // Required for numeric_limits

void myflush ( std::istream& in )
{
  in.ignore ( std::numeric_limits<std::streamsize>::max(), '\n' ); // опустошаем все что есть в буфере
  in.clear();
}

void mypause() 
{ 
  std::cout<<"Press [Enter] to continue . . ."; // собственно, пауза
  std::cin.get();
}
Источник
Использование же system("pause") - костыль, к использованию не годится никогда.

Худший ответ:
Это медленно. Это зависит от платформы. Это небезопасно.
Цитата взята отсюда
Вопрос: После логотипа Биоса такой экран,что делать?

Лучший ответ:
Если лого показывается, тут два варианта:
- писец видюхе, проблема с видеомапятью, при инициализации графики рушится
- писец BIOS, недошился, вшился неправильно/не так/не туда
Если видео встройка - поставить заведомо рабочую видюху и проверить
Если наоборот внешняя - убрать, пусть уйдет на встройку
Если видео ни при чем - перешивать BIOS заново, скорее всего уже в СЦ

Худший ответ:
Очень вероятно, что умерла видеокарта.
Попробуй вставить её в заведомо рабочий компьютер, или вставить заведомо рабочую видеокарту в свой.
Если есть встроенное видео, то можно просто вытащить её.

Потом прошил Биос
Либо неудачно прошил.

 запуска с установочной флешки
либо дело таки в флешке
Вопрос: Что такое «Блок»?

Лучший ответ:
Вместо блока вполне может быть единственная инструкция.
if (a > b) console.log("a win");

if (a > b) {
  console.log("b lost");
  console.log("a won");
}То же с for (), да и с просто-кодом.

Но фокус подмены не пройдёт с class или литералом объекта.

Disclaimer. Это, разумеется, попытка «доступного объяснения». На деле надо ознакомиться с синтаксисом языка. А то последует вопрос про function, а затем про круглые скобки )

Худший ответ:
Такой вот синтаксис.
Вопрос: Как ускорить работу если надо одновременно использовать 20 вкладок?

Лучший ответ:
Поставите блокировку рекламы, это ускорит работу.

Худший ответ:
Исправить этот никак нельзя, но можно переделать сам механизм парсинга. Нахрена вам вообще отображать страницу, если вам чисто нужен его html-код? Берете и POST / GET запросом напрямую дергаете информацию и тогда можете парсить хоть в 20 потоков, хоть в 200 потоков.
Вопрос: На какую характеристику нужно смотреть, что бы подобрать монитор для программирования?

Лучший ответ:
Рекомендую статью Пора обновить ваш монитор там все очень подробно почему и как.
Сейчас у меня два 4К монитора (27"). Одному года 4 уже - 60hz, второй новый на 144Hz. ИМХО высокое разрешение значительно важнее, чем частота обновления; я вообще особо не замечаю разницы между 144 и 60hz (она явно есть, но не сильно бросается в глаза).

Худший ответ:
Рекомендую статью Пора обновить ваш монитор там все очень подробно почему и как.
Сейчас у меня два 4К монитора (27"). Одному года 4 уже - 60hz, второй новый на 144Hz. ИМХО высокое разрешение значительно важнее, чем частота обновления; я вообще особо не замечаю разницы между 144 и 60hz (она явно есть, но не сильно бросается в глаза).
Вопрос: Альтернатива сдувшемуся гугл фото?

Лучший ответ:
Как я понимаю, многие американцы смотрят на Amazon Photos. Но у них он вроде как входит в подписку Prime, так что у нас с этим сложнее.

Если фоток реально много, то можете рассмотреть вариант с покупкой NAS'а. Сейчас их много, разных и умных, можно и загружать туда удалённо и расшаривать.

Либо покупайте хостинг (через пару недель на чёрную пятницу хорошие скидки будут) и ставьте что-то наподобие Lychee, Piwigo и прочих. Будете сам себе хозяин.

Худший ответ:
Единственный ТРУ верный вариант - это хранить их у себя дома в НАСе на рейде.
Это если важно их оставить в оригинальном качестве.
Если же это не так важно, зарегистрируйте фейсбук или инсту и туда залейте.
Вопрос: Почему периодически падает скорость Wi-Fi? И какие настройки стоит сделать?

Лучший ответ:

Потребительские WiFi не расчитаны на большое количество одновременных WiFi клиентов (для некоторых 3 уже много)
Может на той же частоте работать какой нибудь соседский WiFi роутер и они банально могут конфликтовать. Каким нибудь WiFi Analyzer на телефоне посмотрите какие WiFi каналы у вас более свободные и в роутере поставьте какой нибудь канал из них


P.S. Ширина канала это в буквальном смысле ширина. Линейка может быть 20 см, а может быть 40 см. Линейки 20/40 быть не может. Увеличение ширины канала положительного эффекта может и не дать, а наоборот испортить жизнь соседям и вам, если они работают на близких частотах.

Худший ответ:
на практике - или поселился замечатльынй сосед, который сидит на той же частоте WIFI, либо как вариант идет перегрев модуля вифи в роутере
Вопрос: Сколько запросов в секунду может обрабатывать Node.js приложение на 1 ядре?

Лучший ответ:
Странный вопрос но отвечу:
1. создаете виртуалку максимально похожую на ваше окружение у хостера, например 1 cpu + 512 gb ram
2. ставите  ноду которая у хостера
3. создаете сценарий тестирования apache jmeter

Худший ответ:
Одно дело сходить в туалет по большому, другое дело по маленькому. Одно дело когда женщина идет в ванную, другое мужчина
Вопрос: Как подключиться к MSSQL через SSH туннель, если в названии сервера 2 части?

Лучший ответ:
SQL09 — именованный экземпляр. Нужно было выбирать имя по-умолчанию.
Попробуйте сделать для сервера псевдоним (руководство).

Из сети: подключение к MS SQL серверу через SSH туннель.

Худший ответ:
Так что это за часть "\SQL09"?
Имя экземпляра SQL Server.
{ip or host}\{instance}
На одном сервере может быть более одно экземпляра.
Вопрос: Правильно ли выводить переменные через запятую в консоль?

Лучший ответ:
Можно так:
let name = 'Alen';
let age = 20;
console.log('Your name: %s, Vozrasr: %d', name, age);

Худший ответ:
Можно так:
let name = 'Alen';
let age = 20;
console.log('Your name: %s, Vozrasr: %d', name, age);
Вопрос: Кто сталкивался с цветным шумом на новых процессорах М1?

Лучший ответ:
на интеловских маках точно такое же было и есть. на м1 пока не встречал.
лично я забил на это, ибо никак не мешает и возникает рандомно.

Худший ответ:
Тот самый случай чтоб почувствовать за что платишь. Обращайся в саппорт и меня по гарантии до тех пор, пока не получишь нормальное устройство.
Вопрос: Как безопасно отправлять пользовательский текст в базу POST запросом?

Лучший ответ:
Перед тем как что-то куда-то добавлять надо сначала разобраться что ты делаешь.
В частности понять что браузер, веб-сервер, и база данных - это разные вещи, и для каждой нужна своя обработка данных. 

В-первых, POST запросом ничего добавить в базу нельзя.
База вообще ничего не знает про пост запросы.  POST запросом можно отправить текст только в РНР. 
А РНР уже будет добавлять в БД.

Про HTML база данных тоже ничего не знает. Поэтому "htmlspecialchars" к базе данных не имеет никакого отношения. И делать это для добавления в БД не нужно. Это функцию надо применять при выводе данных в браузер, а не при сохранении в базу данных.

Вот теперь, когда мы разобрались что у нас где, можно наконец ответить на твой вопрос

Для безопасного добавления данных в БД из РНР, надо отправлять их отдельно от самого запроса. Это непреложное правило, которое надо соблюдать всегда. 
И не важно - пользовательский у тебя текст, или какой-то другой, POST у тебя запрос,  или вообще никакого запроса не было - все эти вещи к работе с БД из РНР не имеют никакого отношения. Важно только то, что данные всегда отправляются в БД отдельно от запроса. 
Для этого надо

Заменить все переменные в запросе на специальные маркеры, которые называются плейсхолдеры или параметры, а по сути - просто знаки вопроса
Подготовить запрос к исполнению с помощью функции prepare(). Эта функция принимает строку запроса и возвращает экземпляр специального класса stmt, с которым в дальнейшем и производятся все манипуляции
Привязать переменные к запросу.
Выполнить подготовленный ранее запрос с помощью с помощью execute()

В mysqli это будет так
$sql = "INSERT INTO  table (name, text, message, date, rating) VALUES (?,?,?,?)";
$stmt = $link->prepare($sql);
$stmt->bind_param("sssss", $name, $text, $message, $date);
$stmt->execute();
bind_param() принимает в качестве параметров все переменные, которые должны попасть в запрос, в том же самом порядке, в котором стоят плейсхолдеры в запросе. Но кроме того, сначала в этой функции должны быть указаны типы для всех переменных, в виде строки, где тип переменной обозначается одной буквой. То есть букв в этой строке должно быть ровно столько, сколько дальше будет переменных. К счастью, можно особо не париться с типами и для всех переменных указывать тип "s".

Но по-хорошему для работы с БД в РНР лучше использовать PDO, Тем более что там колупаться с bind_param не нужно, а можно сразу отправить все данные в execute
$sql = "INSERT INTO  table (name, text, message, date, rating) VALUES (?,?,?,?)";
$stmt = $link->prepare($sql);
$stmt->execute([$name, $text, $message, $date]);
А дураков, которые сами не знают, как текст в базу сохранить, слушать не надо.

Худший ответ:
Еще вот это: 
https://www.php.net/manual/ru/function.mysql-escap...
А лучше конечно это: https://www.php.net/manual/ru/book.pdo.php