@artemNi

Как реализовать добавление записи в связанные таблицы MySQL?

Есть База данных, состоящая из двух несвязанных таблиц "users" и "textlog". В users добавляются пользователи, а в textlog записи, которые они делают. Все работает корректно. Есть задача - получать в таблице textlog пользователя, добавившего запись. Для этого в таблице textlog создается поле user_id, которое связывается с полем id таблицы users.

И всё перестает работать. Данные из поля ввода, после создания связи, в таблицу textlog не попадают.

Предполагаю ошибку запроса, но как ее подправить решить не могу.

Как решить эту проблему?

Вот функция добавления в БД на php для несвязанных таблиц:
function textlog($connect, $chat_id, $text) {

    if ($chat_id = '')
        return false;
    $t = "INSERT INTO textlog (chat_id, phone) VALUES ('%s', '%s')";
    $query = sprintf($t, mysqli_real_escape_string($connect, $chat_id),
//            mysqli_real_escape_string($connect, $text));
        mysqli_real_escape_string($connect, substr($text, 1)));
    $result = mysqli_query($connect, $query);

    if (!$result)
        die(mysqli_error($connect));
    return true;

}
  • Вопрос задан
  • 242 просмотра
Решения вопроса 1
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
Точно так же, как и в любую другую. Добавление в связанную таблицу ничем не отличается от любого другого запроса INSERT.
Только надо не забыть данные для добавленного поля.

function textlog($connect, $chat_id, $text, $user_id) {
    if (!$chat_id) {
        return false;
    }
    $sql = "INSERT INTO textlog (chat_id, phone, user_id) VALUES (?,?,?)";
    $stmt = $connect->prepare($sql);
    $stmt->bind_param("sss",$chat_id, $text, $user_id);
    $stmt->execute();
    return true;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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