一、使用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()函数的返回值。