Heim  >  Artikel  >  Backend-Entwicklung  >  php读取mysql的简单实例_PHP

php读取mysql的简单实例_PHP

WBOY
WBOYOriginal
2016-06-01 11:57:35761Durchsuche

复制代码 代码如下:
    $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'");

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn