php创建表(mysql)编码问题

WBOY
发布: 2016-06-23 14:02:23
原创
977 人浏览过

   刚刚接触PHP,照书本写的例子,这是代码:

<?php$con=mysql_connect("localhost","root","mysql");			//建立连接并赋值给变量if($con)										//如果返回连接标识{	mysql_select_db("test");					//选择test操作库	$sql="CREATE TABLE temp	(		id int(5) not null auto_increment primary key,		name char(10) not null default '',		sex char(2) not null default '男',		age int(3) not null default 0,		work char(10) not null default '',		city char(10) not null default '',		other char(50) not null default ''	)";	$result=mysql_query($sql);					//执行建表SQL语句	if($result)									//如果成功执行	{		echo "成功在test数据库中创建表!";		//输出内容	}	else echo "建表时出现错误!".mysql_error();	}else											//如果返回False{	echo "连接到服务器时出现错误!";				//输出内容}?>
登录后复制

运行错误是:建表时出现错误!Invalid default value for 'sex'。
我的mysql字符集是:gbk。网上查了很多,没成功,所以发帖求解。该怎么修改代码呢,有想法的都给个提示吧,先谢了!


回复讨论(解决方案)

$con=mysql_connect("localhost","root","mysql");   
mysql_query("set names gbk");
................

在运行试试

$con=mysql_connect("localhost","root","mysql");   
mysql_query("set names gbk");
................

在运行试试 试过了,我这不行。

$con=mysql_connect("localhost","root","mysql");   
mysql_query("set names gbk");
................

在运行试试 你那能运行不?

将php文件另存为gbk编码后再试

$con=mysql_connect("localhost","root","mysql");   
mysql_query("set names gbk");
................

在运行试试 我手动建了表,然后做了个简单的注册,能注册成功。然后又回过头用原来的代码建表,加了mysql_query("set names gbk");竟然成功了,呵呵。。。真的奇怪了,百度、google以上午,这方法也试了都没成功,在这一发帖,嘿。。成功了,怪!应该是你带来的幸运,谢了!分就给你了吧。

将php文件另存为gbk编码后再试 提到这个编码哈,我上午也弄了,没弄成,因为另存为的编码选项中没gbk呀?你是怎么弄的?

php文件编码要和mysql数据库的编码一致,还有mysql数据库服务器的编码也要一致。。

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板