>백엔드 개발 >PHP 튜토리얼 >php读取mysql的简单实例_PHP

php读取mysql的简单实例_PHP

WBOY
WBOY원래의
2016-06-01 11:57:35794검색

复制代码 代码如下:
    $link=mysql_connect("localhost","root","之前的管理员密码");
    if(!$link) echo "没有连接成功!";
    mysql_select_db("infosystem", $link); //选择数据库
    $q = "SELECT * FROM info"; //SQL查询语句
    mysql_query("SET NAMES GB2312");
    $rs = mysql_query($q); //获取数据集
    if(!$rs){die("Valid result!");}
    echo "

";
    echo "";
    while($row = mysql_fetch_array($rs)) echo ""; //显示数据
    echo "
部门名称 员工姓名 PC名称
$row[1] $row[2] $row[3]
";
    mysql_free_result($rs); //关闭数据集
?>            

中文显示乱码问题
当我们按照原来的方式通过PHP存取MySQL数据库时,就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。
其实简单的方法是通过phpMyAdmin来设置。
设置下面几项:
1: 语言设置为 chinese (zh-utf-8)
2: MySQL 字符集: UTF-8 Unicode (utf8)
3: MySQL 连接校对: utf8_general_ci
4: 新增数据库和数据表的时候,整理项选择 utf8_general_ci
通过以上设置,在phpMyAdmin中操作和查询的时候,中文字符都不会乱码了。
但是你会发现,在php程序中用以前的sql语句查询出来的结果还是乱码,问题就出在connection连接层上。
解决方法是在成功连接数据库之后,发送一句查询语句:

复制代码 代码如下:
1: $this->LinkID = mysql_connect($this->Host, $this->User, $this->Password);
2: mysql_query('SET NAMES 'utf8'', $this->LinkID);
或:
DEFINE ('LINK', mysql_connect (DB_HOST, DB_USER, DB_PASSWORD));
mysql_query("SET NAMES 'utf8'", LINK);

gbk编码的
复制代码 代码如下:
$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_query("SET NAMES 'GBK'");

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.