Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.01.2017, 04:57
Профессор
Отправить личное сообщение для DivMan Посмотреть профиль Найти все сообщения от DivMan
 
Регистрация: 08.03.2016
Сообщений: 429

Почему ругается на синтаксис SQL?
//@ Для подавления вывода сообщений об ошибках.

////соединение с базой данных

	//Адресс сервера MySQL
	$dblocation = 'localhost';
	//Имя базы данных
	$dbname = 'php';
	//Имя пользователя БД
	$dbuser = 'user';
	//и его пароль
	$dbpasswd = '123';
	
	//Устанавливаем соединение с БД
	
	$dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd);
	
	if(!$dbcnx){ //если дескриптор равен 0, соединение не установлено
	
		exit('<p>В настоящий момент сервер базы данных не доступен, '.
			'поэтому корректное отображение страницы невозможно.</p>'
		);
	}
	
	else{
		echo "<p>Соединение установлено</p>";
	}
	
	@mysql_query("SET NAMES 'cp1251'");
	
	

	
	////////////Выбор базый данных 
	
	//mysql_select_db()
	
	if(!@mysql_select_db($dbname, $dbcnx)){
		echo ("<p>БД не доступна</p>");
		exit;
	}
	
	else{
		echo "БД выбрана";
	}
	
	////////выполнение запросов SQL
	
	$query = "CREATE TABLE catalogs (
		id_catalog INT(11) NOT NULL AUTO_INCREMENT,
		name TINYTEXT NOT NULL,
		PRIMARY KEY (id_catalog),
		FULLTEXT KEY `name` (`name`)
	);
	
	INSERT INTO catalogs VALUES (1,'Процессоры');
	INSERT INTO catalogs VALUES (2,'Материнские платы');
	INSERT INTO catalogs VALUES (3,'Видеоадаптеры');
	INSERT INTO catalogs VALUES (4,'Жёсткие диски');
	INSERT INTO catalogs VALUES (5,'Оперативная память');
	";
	
	if(mysql_query($query)){
		echo "Таблица успешно создана";
	}
	
	else{
		exit(mysql_error());
Ответить с цитированием
  #2 (permalink)  
Старый 17.01.2017, 05:41
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

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

Ошибки sql-запросов нужно анализировать при отладке и подавлять их вывод на страницах пользователя, но не "собакой", это дурной тон.

В рамках РНР об оригинальном mysql расширении нужно забывать и использовать либо mysqli, либо PDO.
Ответить с цитированием
  #3 (permalink)  
Старый 18.01.2017, 11:48
Профессор
Отправить личное сообщение для DivMan Посмотреть профиль Найти все сообщения от DivMan
 
Регистрация: 08.03.2016
Сообщений: 429

Я делаю запрос в phpmyadmin

CREATE TABLE catalogs (
id_catalog INT(11) NOT NULL AUTO_INCREMENT,
name TINYTEXT NOT NULL,
PRIMARY KEY (id_catalog),
FULLTEXT KEY `name` (`name`)
);

И почему мне пишет
#1214 - The used table type doesn't support FULLTEXT indexe
Ответить с цитированием
  #4 (permalink)  
Старый 18.01.2017, 12:06
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

CREATE TABLE catalogs (
id_catalog INT(11) NOT NULL AUTO_INCREMENT,
name TINYTEXT NOT NULL,
PRIMARY KEY (id_catalog),
FULLTEXT KEY `name` (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прошу раскритиковать наслойку работы с MySql. Alasdair Node.JS 4 21.11.2015 20:06
Почему ругается на код vladimircape Общие вопросы Javascript 3 15.01.2013 20:30
Свойства объекта, методы и this. Почему свойство вызывается с () ? jsuse Общие вопросы Javascript 2 04.11.2011 20:39
Установка JDBC Driver для SQL grim Общие вопросы Javascript 2 22.11.2010 08:20
decodeURI ругается Sergey K Общие вопросы Javascript 7 17.10.2008 23:50