PHP连接数据库的方法(2)
if($field_value==""){ echo "<td> </td>"; } else{ echo "<td>$field_value</td>"; } } echo "</tr>"; } echo "</table>";//表格输出结束 mysql_free_result($rst) or die("无法释放result资源!");//释放result资源 } else{ echo "目前该表中没有任何数据!"; } mysql_close($server) or die("无法与服务器断开连接!");//断开连接并释放资源 ?> 开放数据库连接(ODBC)已成为一种与数据库进行通信的工业标准。PHP也提供了标准的接口,使得PHP能调用Access,SQL SERVER等数据库。其相关函数是: (1)integer odbc_connect(string dsn, string user, string password) 连接到一个ODBC数据库源名字上。 (2)integer odbc_exec(integer connection, string query)或 odbc_do(integer connection, string query) 在一个连接上执行查询。 (3)boolean odbc_fetch_row(integer result, integer row) 从一个结果集中获取一行数据。Row参数是可选的,若为空缺,则返回下一个有效行。在结果集中不再剩余行时返回false。 (4)boolean odbc_close(integer connection) 关闭一个数据库的连接。若在该连接上有打开的事务,则返回一个错误,而且连接不会被关闭。 最后,还是看个分页的例子: <? //设定每页显示条数 $show_num = 10; $spages = $pages;//避免$pages后期被改变 //定义连接 $dsn = "localhost"; $user = "sa"; $password = ""; //计算总记录数 $rs_num = "select count(*) as id from bbs where zu='0' and lei='".$lei."'"; $conn_id = odbc_connect($dsn,$user,$password); $rnum = odbc_exec($conn_id,$rs_num); while(odbc_fetch_row($rnum)){ $total_rs = odbc_result($rnum,"id");//将总记录数放入$total_rs变量 } //计算与页有关的条数 $nnn = $total_rs / $show_num;//计算总页数 $hnnn = intval($nnn);//将总页数取整 $cnnnn = $nnn - $hnnn; //计算所需总页数 switch ($cnnn){ case "0": $hnnn++; $nnn = $hnnn;//总页数 break; default : $nnn = $hnnn;//总页数 break; }; if ($nnn == 0)$nnn++; //计算页面改变所需的条件 $fore = $pages; $next = $pages; $fore -= 1; $next += 1; if ($fore > 0) { echo "<a>首页</a>"; echo "<a>前页</a>"; }; if ($pages < $nnn) { echo "<a>后页</a>"; echo "<a>尾页</a>"; }; echo "共".$nnn."页"; $query_string = "SELECT * FROM table where condition order by you wanted order"; $cur = odbc_exec($conn_id,$query_string); //取到循环的顶部 $cnum = ($pages-1) * $show_num;//计算当前的记录游标的位置 //空循环到显示记录游标处 if ($cnum != 0){ for ($i=0;$i<=$cnum;odbc_fetch_row($cur)){$i++;}; }; $i=1; //显示记录 while(odbc_fetch_row($cur)){ echo ; if ($i == $show_num){//在不满页数时跳出程序 break; }; $i++; }; //关闭连接 odbc_close($conn_id); ?> Oracle(甲骨文)是世界上最为流行的关系数据库。它是大公司推崇的工业化的强有力的引擎。我们先看看其相关的函数: (1)integer ora_logon(string user , string password) 开始对一个Oracle数据库服务器的连接。 (2)integer ora_open(integer connection) 打开给出的连接的游标。 (3)integer ora_do(integer connection, string query) 在给出的连接上执行查询。PHP生成一个指示器,解析查询,并执行之。 (4)integer ora_parse(integer cursor, string query) 解析一个查询并准备好执行。 (5)boolean ora_exec(integer cursor) 执行一个先前由ora_parse函数解析过的查询。 (6)boolean ora_fetch(integer cursor) 此函数会使得一个执行过的查询中的行被取到指示器中。这使得您可以调用ora_getcolumn函数。 (7)string ora_getcolumn(integer cursor, integer column) 返回当前的值。列由零开始的数字索引。 (8)boolean ora_logoff(integer connection) 断开对数据库服务器的链接。 以下是向ORACLE数据库插入数据的示例程序: <html> <head><title>向ORACLE数据库中插入数据</title></head> <body> <form action="<?echo $PHP_SELF;?>" method="post"> <table border="1" cellspacing="0" cellpadding="0"> <tr> <th>ID</th> <th>name</th> <th>Description</th> </tr> <tr> <td><input type="text" name="name" maxlength="50" size="10"></td> <td><input type="text" name="email" maxlength="255" size="30"></td> <td><input type="text" name="Description" maxlength="255" size="50"></td> </tr> <tr align="center"> <td colspan="3"><input type="submit" value="提交"> <input type="reset" value="重写"></td> </tr> </table> </form> <? //先设置两个环境变量ORACLE_HOME,ORACLE_SID putenv("ORACLE_HOME=/oracle/app/oracle/product/8.0.4"); putenv("ORACLE_SID=ora8"); //设置网页显示中文 putenv("NLS_LANG=Simplified_Chinese.zhs16cgb231280"); if($connection=ora_logon("scott","tiger")) { //库表test有ID,name,Description三项 $sql = 'insert into test(ID,name,Description) values '; $sql .= '('' . $ID . '','' . $name . '',''. $Description . '')'; if($cursor=ora_do($connect,$sql)) { |
- 上一篇:PHP连接数据库的方法(3)
- 下一篇:PHP连接数据库的方法(1)