простите меня, если это глупый вопрос или мне задавали миллион раз, но у меня проблемы с использованием PHP, имейте в виду, что я новичок в этом языке, поэтому, если вы, ребята, можете просто его сломать, это было бы здорово.
Итак, у меня есть файл с именем createchatroom.php, он принимает пользовательский ввод и создает таблицу SQL со столбцом имен пользователей, основной код находится здесь:
$file = ("CREATE TABLE `" . $userstablename . "` (ID int NOT NULL AUTO_INCREMENT, username varchar(255) NOT NULL, PRIMARY KEY (ID))");
и
$sql = "INSERT INTO " . $userstablename . " (username) VALUES ('". $users ."')";
Затем у меня есть еще один файл с именем im.php, который имеет дело с данными из еще двух файлов get-messages.php и update-messages.php.
im.php - это в основном все js, поэтому я действительно не знаю, что там происходит, но это может быть полезно:
xmlhttp.open("GET","update-messages.php?username = " + username + "&message = " + message,true);
xmlhttp.send();
тогда файл update-messages.php:
<?php
$db = new mysqli(connection info here);
if ($db->connect_error) {
die("Sorry, there was a problem connecting to our database.");
}
$username = stripslashes(htmlspecialchars($_GET['username']));
$message = stripslashes(htmlspecialchars($_GET['message']));
if ($message == "" || $username == "") {
die();
}
$result = $db->prepare("INSERT INTO messages VALUES('',?,?)");
$result->bind_param("ss", $username, $message);
$result->execute();
Мне нужно установить для таблицы «messages» значение «usertablename» из документа createchatroom.php, и я не знаю, как это сделать. Спасибо за вашу помощь.
Я также рекомендовал бы использовать POST вместо GET при отправке данных. Хорошее правило - использовать GET, когда вы получаете данные, и POST, когда вы отправляете данные, которые должны быть обработаны и вставлены / обновлены.
Вам также следует использовать параметризованный Подготовленные заявления вместо того, чтобы вручную экранировать данные. Тем более, что stripslashes() - не лучший способ защитить себя от SQL-инъекций.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Как правило, вы не хотите, чтобы обычная повседневная работа вашего приложения требовала изменения схемы базы данных. То есть создание нового чата должно выполняться путем вставки строки в таблицу чата, а не путем создания новой таблицы. Тогда у вас будет одна таблица сообщений с полем (внешним ключом), указывающим, к какому чату принадлежит сообщение.