PHP3 入门教程---要注意的地方
1. 脚本开头部分定义的变量是 MYSQL_CONNECT() 函数的参数,当然我们也可以直接把这些字符串插入到函数中,但是,如果在一个大的 Web 应用中,这些值很可能被放在几个不同的文件中然后被包含进来(用 include 语句),如果一开始定义了这些字符串变量,要修改的时候就很容易了。
2. 函数 @mysql_select_db() 用来选择一个数据库。这样做可以节省一些时间,能够在执行查询语句的时候不用给出数据库名。
语法 : int mysql_select_db(string database_name, int link_identifier);
* database_name 必须是服务器上的一个数据库名。
* link_identifier (可选)指明建立的数据库连接号,如果省略,那么就会使用最后打开的连接。
* 根据执行成功与否,返回真 / 假值。
3. 函数 MYSQL_QUERY() 用来向 MySQL 数据库发送查询:
语法 : int mysql_query(string query, int link_identifier);
* query - 查询用的 SQL 字符串。
* link_identifier - 数据库名(可选,如果省略,则使用最后打开的数据库连接),如果不想使用函数 @mysql_select_db() 选择的数据库,那么就必须给出数据库名。
* 根据执行成功与否,返回正 / 负值,如果执行的是 SELECT 查询,那么返回的是结果号,否则返回值可以不用理会。
4. MYSQL_CLOSE 函数关闭到 MySQL 数据库的连接。
语法 : int mysql_close(int link_identifier);
* link_identifier - 同上。
* 同样的,根据执行成功与否,返回正 / 负值。
如果设置的正确,你会看到数据真的被添加到了 information 表中。在下一部分中,我们将学会如何从 MySQL 数据库中提取数据,再把它显示出来。
从 MySQL 提取数据
我们已经成功的得到了足够多的用户信息,并且都储存在了数据库中。但是,怎样才能浏览这些数据,并从中得到有用的结论呢?
下面,我们想把所有喜欢苹果的用户的姓名和邮件地址列出来:
/* 这段脚本用来显示出所有喜欢苹果的用户的姓名和邮件地址 */
/* 定义一些相关变量 */
$hostname = "devshed";
$username = "myusername";
$password = "mypassword";
$userstable = "information";
$dbName = "mydbname";
/* 建立连接 */
MYSQL_CONNECT($hostname, $username, $password) OR DIE("Unable to connect to database");
@mysql_select_db( "$dbName") or die( "Unable to select database");
/* 选者所有喜欢苹果的用户 */
$query = "SELECT * FROM $userstable WHERE choice = 'Apples'";
$result = MYSQL_QUERY($query);
/* 计算有多少这样的用户 */
$number = MYSQL_NUMROWS($result);
/* 把结果显示在屏幕上 */
$i = 0;
IF ($number == 0) :
PRINT " 没有人喜欢吃苹果 ";
ELSEIF ($number > 0) :
PRINT " 喜欢吃苹果的用户数: $number";
WHILE ($i $name = mysql_result($result,$i,"name");
$email = mysql_result($result,$i,"email");
PRINT "$name 喜欢苹果 ";
PRINT " 邮件地址: $email.";
PRINT "";
$i++;
ENDWHILE;
PRINT "";
ENDIF;
?>
把结果保存为 apples.php3.
下面解释一下用到的函数:
$number = MYSQL_NUMROWS($result);
语法 : int mysql_num_rows(string result);
* result - 由 MYSQL_QUERY 函数返回结果号。
* 函数返回值是纪录组中纪录的个数。
还有一个与之相近的函数: mysql_num_fields(string result) ,它的返回是纪录集字段的个数。
在输出的过程中,如果数据库中记录显示没有喜欢苹果的人,那么就显示字符串“没有人喜欢吃苹果”,否者,输出没有搜索到的用户的名字和邮件地址。这用到了一个 WHILE 循环,输出所有符合条件的数据。
$name = MYSQL_RESULT($result,$i,"name");
语法 : int mysql_result(int result, int i, column);
mysql_result() 是用来提取一个纪录中某个字段的值:
* $result 指明要操作的纪录集。
* $i 指明要操作纪录集中的第几号纪录
* column 是 MySQL 表结构中一个字段名。
这样,用一个简单的 WHILE 循环,我们就可以输出所有的数据了。
SQL 函数:
使用 MYSQL_QUERY() 函数能够执行一些 SQL 的函数来对数据库进行操作,其中就包括了 DELETE 和 UPDATE 函数:
Delete
假设我们想删除名字为 "Bunny" 的纪录,那么可以这样做: :
$query = "DELETE FROM $userstable WHERE name = "Bunny";
MYSQL_QUERY($query);
Update
或者我们想修改所有名字是 "Bunny" 的纪录,并把 "Bunny" 改为“”
$query = "UPDATE $userstable SET name = "Bugs Bunny" WHERE name = "Bunny"; MYSQL_QUERY($query);
看完这篇文章,大家对 PHP3.0 应该有个大概的认识了。我们看到了如何用 PHP3.0 创建动态网页,还有如何通过 PHP3.0 和 MySQL 的结合,把数据库发布到网上。但是,这些只是冰山一角, PHP3.0 还有许多强大的功能。由于这只是一入门介绍性文章,在这儿就不多说了。
我认为学习 PHP 的最好的方法,莫过于读 PHP3.0 的文档,这些文档都是由开发 PHP 的大师们写的,可能没有什么资料比这个文档更为详细的了。你可以不用去背记,只要读懂、理解了就好了。这个文档以及一些关于 PHP 的最新消息都可以在 http://www.php.net 找到,这是 PHP 的老巢,也是学习 PHP 所必须到的的方。 MySQL 的文档和相关资源可以在 http://www.mysql.com 找到。