BBS水木清华站∶精华区

发信人: yanglc (天天改昵称比较的烦), 信区: Linux        
标  题: MySQL & PHP--4 
发信站: BBS 水木清华站 (Tue Jun 20 22:21:38 2000) 
 
第三节 基本选择(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可以找到.  
-- 
              欢迎光临【静园草坪】BBS 站           
              telnet://bbs.geo.pku.edu.cn            
              telnet://162.105.20.254                
              个人主页                               
              http://www2.cs.uestc.edu.cn/~yanglc    
                                                     
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.214.121] 

BBS水木清华站∶精华区