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.jb51.net
$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'");