MySQL & PHP

第三节 基本选择(Select)


大多数数据库应用程序的时间花费在从数据库中获取信息.根据你想从数据库 中取得的数据的多少,将会有如下几种选择:

3.1 返回的是一条记录的一项

多数情况下,用户可能只需要从数据库中提取一条记录的一项,例如:知道某个产品的 ID号,需要查询它的产品名称.

下面就使用刚刚建好的数据库,你可以从中选出任何一个已知ID号的产品的产 品名称.使用到的函数叫做 QueryItem 它只返回一个单一结果.

    $name = $sql->QueryItem("select Name from TEST where ID = 4");
    

变量 $name 现在会变为 "Leroy Longrad".

注意: 如果 SQL 语句返回了多条记录,只有第一条记录的相应项被返回.

3.2 返回的是一条记录

类似的,多数情况下用户可能需要从数据库中中提取一条记录. 使用到的函数叫做 QueryRow 它返回一条记录.

    $sql->QueryRow("select * from TEST where ID = 4");
    $row = $sql->data;
    

在这里,记录 $row 的各个项的值分别为:

    $row[0] = 4;
    $row[1] = "Leroy Longrad"
    $row[2] = 45;
    $row[3] = 63000;
    

另一种方法是,你可以指出字段名来引用记录的各个项:

    $row[ID]     = 4;
    $row[Name]   = "Leroy Longrad"
    $row[Age]    = 45;
    $row[Salary] = 63000;
    

3.3 返回的是多条记录

最后,用户有可能需要返回多条记录,对多个记录进行列印,并组织成表格,或者 将各个记录填入一个下拉菜单中.

这个例子中你需要返回多个记录,并使用循环对各个记录进行处理,下面就是把 返回的记录在HTML中作成一个表格的例子:

    echo("<tr><th>Name</th><th>Age</th></tr>\n");
    $sql->Query("Select Name, Age from TEST order by Age");
    for ($i = 0; $i < $sql->rows; $i++) {
        $sql->Fetch($i);
        $name = $sql->data[0];
        $age = $sql->data[1];
        echo("<tr><td>$name</td><td>$age</td></tr>\n");
    }
    echo("</table>\n");     
    

3.4 例子源程序

所有例子的源程序都在: select.php3可以找到.

Back Index Next Chapter

Vt. Web Wizard Home    |     Email Questions & Comments

© 1998 Vt. Web Wizard