mysqli — запускает несколько запросов CREATE TABLe с MySQL и переполнением стека

Мне нужно создать большое количество таблиц одновременно и добавить данные в первую, используя PHP и MySQL. Мой код выглядит так:

$sql = "CREATE TABLE table1 (
code VARCHAR(5) PRIMARY KEY,
name VARCHAR(50) NOT NULL
);";

//adding businesses to table
$sql .= "INSERT INTO table1 (code, name)
VALUES ('CODE', 'name');";
//^this basic idea is run a few more times

$sql .= "CREATE TABLE table2 (
code VARCHAR(5) PRIMARY KEY,
name VARCHAR(50) NOT NULL
);";
//^same basic thing run a bunch more times w/ variations to columns

if ($conn->multi_query($sql) === TRUE) {
echo "<p>Tables created.</p>
<a href=\"adduser_form.php\">Continue</a>";
} else {
echo "<p>Error creating tables: " . $conn->error . "</p>";
}

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

Я очень новичок в MySQL, поэтому новичкам будет очень приятно 🙂

1

Решение

Попробуйте использовать обратные пометки в своих инструкциях SQL, например:

$sql .= "CREATE TABLE `table2` (
`code` VARCHAR(5) PRIMARY KEY,
`name` VARCHAR(50) NOT NULL
);";

Вы также должны использовать обратные пометки в своем выражении INSERT (и первом запросе CREATE).

Если я не ошибаюсь, name зарезервированное слово.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]