日期:2013-01-26  浏览次数:20413 次

一个简单的自动发送邮件系统(三)

    这里介绍php和mysql结合起来实用。如何从mysql数据库中提取数据。

    好,我们已经成功的完成了我们的要求,很多的数据已经存在了数据库中,现在的问题是,如何查询这些数据,得到有用的结果呢?

在下面的程序中,我们将选择"apple"的用户输出。

--------------------------------------------------------

<?
  

/* 声明一些必须的变量*/

$hostname = "yourhostname";
$username = "yourusername";
$password = "yourpassword";
$userstable = "information";  /* 使用MySQL建立的数据表存取信息  */
$dbName = "yourdbname";


/* 与数据库连接*/
MYSQL_CONNECT($hostname, $username, $password) OR DIE("Unable to connect to database");

@mysql_select_db( "$dbName") or die( "Unable to select database");  


/* 选择所有“apple”用户*/

$query = "SELECT * FROM $userstable WHERE (preference LIKE 'Apples') ";

$result = MYSQL_QUERY($query);

/* 统计有多少这样的用户*/

$number = MYSQL_NUMROWS($result);

/* 输出结果*/

$i = 0;

IF ($number == 0) :

    PRINT "<CENTER><P>Nobody in the database prefers Apples!</CENTER>";

ELSEIF ($number > 0) :

    PRINT "<CENTER><P>Users preferring Apples: $number<BR><BR>";

    WHILE ($i < $number):

        $name = mysql_result($result,$i,"name");
        $email = mysql_result($result,$i,"email");
         
        PRINT "Visitor $name likes Apples.<BR>";
        PRINT "Email address: $email.";
        PRINT "<BR><BR>";

        $i++;

    ENDWHILE;

        PRINT "</CENTER>";

ENDIF;


?>

--------------------------------------------------------

将他存为apples.php3

解释说明:一些新用到的函数:

1、$number = MYSQL_NUMROWS($result);

语法:int mysql_num_rows(string result);

·result   从函数mysql_query中返回的数组记录。
·返回存在$result中的行数。

2、$name = MYSQL_RESULT($result,$i,"name");     

语法: int mysql_result(int result, int i, column);

这个函数将分离记录,将每一条赋值给变量。
·$result是指中的数组结果。
·$i是指数据的行。
·column是指mysql数据表中列的名字。也可以使用变量。

   因此使用一个简单的while循环,我们就能很容易的将数据输出给浏览器。