使用PHP在PHP中创建TABLE

时间:2014-12-08 21:24:52

标签: php mysql utf-8 collate

在我的数据库中的表中,来自捷克字母表的一些不寻常的字母如ěščřžýáíé忽略了我的查询。我认为可以通过CHARACTER SET utf8 COLLATE utf8_czech_ci解决,但看起来我不知道如何使用它。我尝试这段代码,但肯定有一些问题:

        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),title VARCHAR(30)'附近使用正确的语法',at第2行“。

知道如何解决?

2 个答案:

答案 0 :(得分:0)

CHARACTER SET utf8 COLLATE utf8_czech_ci

需要在结束后的CREATE声明结尾处')'

答案 1 :(得分: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?