Добавление записи в связанные таблицы 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;
}
Ответы (1 шт):
Вам надо добавить значение для user_id.
Если вы ещё плохо знаете SQL, то проверяйте свои запросы через клиент базы данных (если умеете через консольный, через IDE или adminer, phpmyadmin). Подставьте в запрос подходящие данные и выполните его без вашего php-кода. Если запрос завершился без ошибок, то можете добавить его в свой код, подставив в него переменные (например через sprintf, как вы это делаете). Если возникнет ошибка, то переведите её и постарайтесь понять в чём проблема.
insert into `textlog` (
`chat_id`,
`phone`,
`user_id`
) values (
123,
'1234567890',
456
)