Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не Создаются таблицы в mysql через php скрипты
 
 автор: Pashan   (11.06.2008 в 12:16)   письмо автору
 
 

Всем доброго времени суток. При написании сайта, в котором буду динамически создаваться таблицы, столкнулся со следующей немаловажной проблеммой: бывает такое, что при создании одних таблиц - все проходит нормально, а другие - не создаются. Причем, на php в скрипте это не проходит, но если вставить сам текст запроса в консоль mySQL, то все прохавается базе без каких либо ошибок. Вот пример из кода:
-------------------------------------------------------
$st= 'create table `Колличество Какихлимбо материалов`(`Код Точки` mediumint, `<voc>Название Бренда` varchar(300), `<voc>Название Подбренда` varchar(300), `<voc>Компания Производитель` varchar(300), `Колличество` integer)';
$result = parse_ini_file("config.ini");
$conn = mysqli_connect($result["DB_HOST"],$result["DB_LOGIN"],$result["DB_PAS"],$result["DB_NAME"],$result["DB_PORT"]);
$conn->query("SET NAMES 'cp1251'");

if ($conn->query($st))
echo 'таблица создана'."<br>";
else{
$result = $conn->query("Show Errors");
$row = $result->fetch_row();
echo $row[1];
echo $row[2];
}
--------------------------------------------------------------------------------------
В конце выдают на страничке вылазит ошибка:
"1064 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 '? ?????????????` varchar(300), `???????????` integer)' at line 1 ".

Помогите разобраться с проблемой!!!

   
 
 автор: Trianon   (11.06.2008 в 12:19)   письмо автору
 
   для: Pashan   (11.06.2008 в 12:16)
 

я Производитель

Нельзя в качестве имен БД, таблиц и полей использовать слова с маленькой русской буквой я в кодировке windows-1251.
В идеале - лучше вообще не применять национальные алфавиты в именах полей. Но использовать символ с кодом 255 у Вас не выйдет ни под каким соусом.

   
 
 автор: Pashan   (11.06.2008 в 12:45)   письмо автору
 
   для: Trianon   (11.06.2008 в 12:19)
 

И нету никаких обходов этой проблемы? Ведь в базе данных с буквами 'я' таблицы можно создать при любом раскладе.

   
 
 автор: Trianon   (11.06.2008 в 13:11)   письмо автору
 
   для: Pashan   (11.06.2008 в 12:45)
 

>Ведь в базе данных с буквами 'я' таблицы можно создать при любом раскладе.

C русскими `я` в какой кодировке?
В windows-1251 - невозможно при любом раскладе.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования