php读取mysql的简单实例

  

复制代码 代码如下:

  <?php

  $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 "<table>";

  echo "<tr><td>部门名称</td><td>员工姓名</td><td>PC名称</td></tr>";

  while($row = mysql_fetch_array($rs)) echo "<tr><td>$row[1]</td><td>$row[2]</td><td>$row[3]</td></tr>"; //显示数据

  echo "</table>";

  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'");