php中要查询mysql数据库中的内容我们必须先连接mysql数据库,然后再利用sql语句进行查询,下面我们来看一些例子吧.
sql有许多对数据库操作的语句,但是常见和比较需要的是这么几个语句,SELECT 语句用于从数据库中选取数据.
那么我们先来介绍第一种 SELECT语句
语句1:SELECT * FROM table_name
解说:意思就是读取整个表table_name里面的数据显示出来
语句1:SELECT * FROM table_name Where x = 1
解说:意思就是读取表table_name里面键名为:x 值为:1的 数据显示出来
Select 查询语句的例子,代码如下:
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("my_db", $con); $result = mysql_query("SELECT * FROM Persons"); while($row = mysql_fetch_array($result)) { echo $row['FirstName'] . " " . $row['LastName']; echo "<br />"; } mysql_close($con);
例子,代码如下:
<?php define ('HOSTNAME', 'localhost'); //数据库主机名 define ('USERNAME', 'username'); //数据库用户名 define ('PASSWORD', 'password'); //数据库用户登录密码 define ('DATABASE_NAME', 'testdb'); //需要查询的数据库 $db = mysql_connect(HOSTNAME, USERNAME, PASSWORD) or die (mysql_error()); //连接不上,就会显示mysql出错的原因。 mysql_select_db(DATABASE_NAME); //切换到testdb www.phprm.com $query = "SELECT uri,title FROM testdb WHERE 1 ORDER by rand() LIMIT 1"; //上面这句的意思是从testdb中随机提取一条数据。 $result = mysql_query($query); //查询 while ($row = mysql_fetch_array($result)) { echo "<p id="title">" , ($row['title']) , "</p><p id="uri">–" , nl2br($row['uri']) , "</p>"; } //显示结果 mysql_free_result($result); //释放结果 mysql_close(); //关闭连接
mysql中文数据出现乱码
数据库采用UTF8编码,而页面申明编码是GB2312,这是最常见的产生乱码的原因,这时候在PHP脚本里面直接SELECT数据出来的就是乱码,需要在查询前先使用如下代码:
mysql_query("SET NAMES GBK");或mysql_query("SET NAMES GB2312");
来设定MYSQL连接编码,保证页面申明编码与这里设定的连接编码一致,GBK是GB2312的扩展,如果页面是UTF-8编码的话,可以用:
mysql_query("SET NAMES UTF8");
注意是UTF8而不是一般用的UTF-8,假如页面申明的编码与数据库内部编码一致可以不设定连接编码,代码如下:
$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass); mysql_query("SET NAMES 'GBK'");