#php #mysql #codeigniter
#php #mysql #codeigniter
Вопрос:
Я следую руководству по codeiniter, в котором мне предлагается создать базу данных со следующим кодом (с использованием mysql):
$sql = "create database login;
CREATE TABLE IF NOT EXISTS `user_login` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_name` varchar(255) NOT NULL,
`user_email` varchar(255) NOT NULL,
`user_password` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ";
Я пытаюсь запустить это, используя свой собственный php-код, но я продолжаю получать эту ошибку и понятия не имею, как ее решить:
Error creating table: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'CREATE TABLE IF NOT EXISTS `user_login` ( `id` int(11) NOT NULL AUTO_INCREM' at line 2
Понятия не имею, что это может быть.
Комментарии:
1. Вы не можете выполнить 2 оператора одновременно с помощью вашей команды PHP.
2. Разделите его, выполните как два оператора. Или, что еще лучше, используйте функцию миграции Codeigniter .
3. @tadman Так ты имеешь в виду, что я должен разделить create database и create table?
4. Мне любопытно, что это за учебник. Является ли он общедоступным по ссылке?
5. @TimBrownlaw Да, это так. formget.com/form-login-codeigniter
Ответ №1:
create database login;
и
CREATE TABLE IF NOT EXISTS `user_login` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_name` varchar(255) NOT NULL,
`user_email` varchar(255) NOT NULL,
`user_password` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
)
это две команды, которые должны выполняться отдельно. Создайте базу данных, прежде чем пытаться создать таблицу — либо с помощью SQL-клиента, либо выполнив что-то вроде:
$sql1 = 'create database login;';
$sql1->execute();
$sql2 = 'CREATE TABLE IF NOT EXISTS `user_login`...';
$sql2->execute();