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

Я пишу сценарий PHP, чтобы создать Database а затем использовать его для создания Table, Я предполагаю, что я использую правильный синтаксис MySQL, но я обнаружил эту ошибку — Error creating table: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'USE website; CREATE TABLE users ( id INT(11) UNSIGNED AUTO_INCREMENT PRI' at line 2

Вот мой PHP сценарий — create_db.php

<?php

function create_database($hostname, $username, $password) {

$h = $hostname;
$u = $username;
$p = $password;

$conn = new mysqli($h, $u, $p);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "CREATE DATABASE website;
USE website;
CREATE TABLE users (
id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(255) NOT NULL,
lastname VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
password VARCHAR(255) NOT NULL,
hash VARCHAR(255) NOT NULL,
forgot_password_hash VARCHAR(255) NOT NULL,
status ENUM('1', '0') NOT NULL
);";

if ($conn->query($sql) === TRUE) {
echo "Table users created successfully";
} else {
echo "Error creating table: " . $conn->error;
}

$conn->close();
}

create_database('localhost', 'root', 'root');

?>

0

Решение

Вы должны использовать multi_query() вместо query()

$conn->multi_query($query)

Смотрите более подробную информацию о multi_query Вот: http://php.net/manual/en/mysqli.multi-query.php

4

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector