@ruslite

Что значит этот код?

Привет. Вопрос ламерский, помидорами не кидать.
var post  = {user_send: socket.userSend, user_get: socket.userGet, text: msg, date: milliseconds};
        query = connection.query('INSERT INTO messages SET ?', post, function(err, result) {
            update = connection.query(sql);
        });


Получается что делает function(err, result) почему внутри err и result?

Что делает messages SET ?' , точнее выразиться, что такое SET с вопросом?
Как выглядела бы query, если, к примеру, мне надо было бы добавить в поле name значение name? Что-то такого я раньше не видел.
  • Вопрос задан
  • 2959 просмотров
Решения вопроса 1
MYPABEU
@MYPABEU
На будущее: уточняйте язык и фреймворки.

Я так понимаю что это код JS.

Здесь выполняется запрос, а callback функция принимает ошибку, если таковая есть и результат выполнения запроса.

В данном случае наличие ошибки не проверяется.

Что делает "SET ?":
Если мы делаем запрос с SET, то дальше мы перечисляем значения в виде: key1=value1, key2=value2, ..., keyN=valueN.
Знак вопроса здесь как раз и выполнет роль того участка, который будет заменен на словарь.

Если Вам надо добавить поле name, то Вам надо добавить в словарь post ключ name и его значение.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
в node.js так сделаны колбэки. Когда у вас отработает запрос в базу, то вызовется эта функция, и если произойдет ошибка, она будет отображена в переменной err. Таким образом осуществляется обработка ошибок. Что бы все было симпатишнее, можно использовать штуки типа promise (q), и таким образом избавить себя от будущих проблем, когда будет разрастаться вложенность колбэков.

По поводу SET ? - SET - это часть SQL, на место вопросика будет подставляться строка, сформированная из того что вы запихнули в переменную post. По сути SET говорит что именно вставлять, а все что до - что нужно именно вставлять данные и куда.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 19:51
15000 руб./за проект
22 нояб. 2024, в 19:15
200000 руб./за проект
22 нояб. 2024, в 18:50
30000 руб./за проект