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으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿