Как совместить INSERT вместе с SELECT?

Как исправить данный скрипт ? Не пойму как их совмещать ?

if($_POST['message'] != ""){

    $id_client = $_SESSION['id_client'];
    $text = $_POST['message'];
    $type = "2";
    $data = date("Y-m-d H:i:s");
    $status = "0";

    $query = "INSERT INTO messages (id_dialog, text, type, data, status) SELECT
 id_dialog, $text, $type, $data, $status
  FROM dialogs WHERE id_client = '$id_client'";

    $result = db_connection($query);

    exit;
}


Скрипт на сервер уходит.
  • Вопрос задан
  • 296 просмотров
Решения вопроса 1
перед выполнением запроса выполните
echo $query;
и попробуйте продублировать запрос в любом клиенте MySQL, сразу станет ясно где ошибка
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@xom9lk
В строчке SELECT id_dialog, $text, $type, $data, $status - нет никакой логики. Вы пытаетесь получить столбец с названием в переменной, например, $data. Всякий раз это будут разные значения. Несложно догадаться, что у вас нет столбца на каждую миллисекунду времени))
Может быть правильнее будет SELECT id_dialog, text, type, data, status - но никто вам не скажет какая у вас таблица, что должен делать данный скрипт и т.д.
Ответ написан
urma
@urma
Java, android, Web
Напишите лучше два отдельных запроса.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы