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_select_db(DATABASE_NAME);
-
- $query =
- "SELECT uri,title FROM testdb WHERE 1 ORDER by rand() LIMIT 1";
-
- $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'"); |