php读取mysql的简单实例
程序员文章站
2023-12-11 13:12:52
复制代码 代码如下:
<?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); //关闭数据集
?>
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);
$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_query("set names 'gbk'");
复制代码 代码如下:
<?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'");