2014-12-08 2 views
0

таблиц в моей базе данных, где есть необычные буквы из чешского алфавита, такие как ěščřžýáíé игнорировать мой запрос. Я думаю, что это можно решить с помощью CHARACTER SET utf8 COLLATE utf8_czech_ci, но похоже, что я не знаю, как его использовать. Iam пытается этот код, но наверняка, есть некоторая проблема:Создать таблицу в PHP с помощью

 mysql_query("CREATE TABLE `".$userreg."` CHARACTER SET utf8 COLLATE utf8_czech_ci(
     id INT NOT NULL AUTO_INCREMENT, 
     PRIMARY KEY(id), 
     title VARCHAR(30), 
     rating_estimate INT)") 
     or die(mysql_error()); 

Я должен создать таблицу в PHP коде, так как это зависит от других переменных. Браузер показывает «У вас есть ошибка в синтаксисе SQL, проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с« ID INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id), заголовок VARCHAR (30) », строка 2 ".

Любая идея, как исправить?

+0

Поскольку в этом случае вы создаете новую базу данных MySQL, я предлагаю использовать MySQLi или PDO для нового кода (и старый код по этому вопросу ....) Библиотека функций mysqli_ * устарела. Более подробную информацию можно найти в руководстве по PHP в [«Выбор API»] (http://php.net/manual/en/mysqlinfo.api.choosing.php). – Crackertastic

ответ

0
CHARACTER SET utf8 COLLATE utf8_czech_ci 

потребности быть в конце CREATE заявление после закрытия ')'

0

Вы можете использовать mysql_set_charset()

mysql_set_charset('utf8');//or utf8_czech_ci 

Или:

mysql_query("SET character_set_results=utf8"); 

Вы также можете ALTER Ваш стол:

ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci; 

Однако, предлагается, чтобы увидеть Why shouldn't I use mysql_* functions in PHP?