一、使用PHP查询MySQL数据库:
1.通过PHP来访问MySQL的步骤是:
- 连接到MySQL
- 选择操作的数据库
- 创建查询的字段
- 执行查询的语句
- 检索出结果并在网页上显示
- 断开与MySQL的连接
我们将依次完成这些操作,重要的是首先以安全的方式创建登陆的详细资料,以使的别人不容易访问你的数据库。
2.创建登陆文件:
许多用PHP创建的网站都包含了多个程序文件,这些文件需要访问MySQL,并需要登陆和密码信息,因此单独创建一个文件来存储这些信息,并将其放在任何需要 的地方。
<?php //login.php
$db_hostname = 'localhost';
$db_database = 'my_database';
$db_username = 'username';
$db_password = 'password';
?>
3.连接到MySQL数据库:
现在login.php文件已经创建并保存,可以通过require_once语句将它包含在任何需要访问数据的PHP文件中。
<?php
require_once 'login.php';
$db_server = mysql_connect($db_hostname,$db_username,$db_password);
if (!$db_server) die("Unable to connect to MySQL:" . mysql_error());
?>
mysql_connect()函数有三个参数:MySQL服务器的主机名、用户名和密码。运行成功后立即为服务器返回一个标识符,否则则返回FALSE。if ... die 如果$db_server不是TRUE将会退出PHP并返回一个错误信息。mysql()函数输出来自于最后依次调用MySQL函数的错误文本。
4.选择数据库:
成功连接上MySQL后,就可以选择要用到的数据库了。
<?php
mysql_select_db(db_database)
or die("Unable to select database:" . mysql_error());
?>
5.创建并执行查询语句:
使用mysl_query()函数从PHP传递一个查询语句到MySQL。
<?php
$query = "select * from mytable";
$result = mysql_query($query);
if (!$result) die ("Database access failed:" . mysql_error());
?>
mysql_query()函数查询成功的话返回一个包含一个用来提取查询结果的resource(资源),失败的话返回false。
6.获取结果:
一旦获取了从mysql_query()函数返回的资源,就可以用它来检索需要的数据。我们可以一行一行的获取,也可以一个一个的获取。
<?php
require_once() 'login.php');
$db_server = mysql_connect($db_hostname,$db_username,$db_password);
if(!db_server) die ("Unable to connect to MySQL:" . mysql_error());
mysql_select_db($db_database) or die ("Unable to select database:" . mysql_error());
$query = "select * from calssics";
$result = mysql_query($query);
if(!$result) die("Database access failed:" . mysql_error());
$rows = mysql_num_rows($result);
for ($j = 0; $j < $rows; ++$j)
{
echo "Author: " . mysql_result($result,$j,'author') . <br />;
echo "Title: " . mysql_result($result,$j,'title') . <br />;
echo "Category: " . mysql_result($result,$j,'category') . <br />;
echo "Year: " . mysql_result($result,$j,'year') . <br />;
echo ISBN: " . mysql_result($result,$j,'isbn') . <br />;
}
mysql_num_rows()函数获取资源的行数,传递给变量$rows;然后使用mysql_resut()函数从每行中提取数据单元,这个函数的三个参数是:获取的资源、数据的行数和要提取的数据的列名。
除了这样一个一个的获取数据,我们还可以使用mysql_fetch_row()函数一行一行的获取数据:
<?php
for($j = 0; $j < rows; ++$j)
{
$row = mysql_fetch_row($result);
echo "Author" . $row[0] . "<br />";
echo "Title" . $row[0] . "<br />";
echo "Category" . $row[0] . "<br />";
echo "Year" . $row[0] . "<br />";
echo "ISBN" . $row[0] . "<br />";
}
?>
7.关闭连接
数据库用完后,使用mysql_close()函数将数据库连接关闭:
<?php
mysql_close($db_server);
?>
我们要给mysql_close()函数传送mysql_connect()函数的返回值。