只想知道 发表于 2015-2-4 00:04:01

PHP网页编程之PHP毗连数据库的办法(2)

在学习PHP这六个月里,每看到一个优秀的php脚本,就会兴奋的手舞足蹈,嘴里还不停的说:太酷了,太酷了。呵呵,很幼稚吧,但这可能就是兴趣。   

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手册在身上,时不时的摸出来看看,记得,去WC也不能放过(^2^)。

老尸 发表于 2015-2-4 08:25:04

当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,

透明 发表于 2015-2-9 20:02:47

我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。

谁可相欹 发表于 2015-2-23 00:32:24

这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己

兰色精灵 发表于 2015-3-4 17:39:41

Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81

若相依 发表于 2015-3-11 20:33:00

使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。

只想知道 发表于 2015-3-17 12:07:20

开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。

不帅 发表于 2015-3-17 18:21:38

这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。

简单生活 发表于 2015-3-24 12:55:54

开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。

飘灵儿 发表于 2015-4-8 06:42:25

做为1门年轻的语言,php一直很努力。

爱飞 发表于 2015-4-9 06:26:48

做为1门年轻的语言,php一直很努力。

变相怪杰 发表于 2015-4-16 02:08:53

遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。

飘飘悠悠 发表于 2015-4-17 23:23:37

有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。

金色的骷髅 发表于 2015-4-18 14:57:41

至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。

仓酷云 发表于 2015-4-21 21:10:42

基础有没有对学习php没有太大区别,关键是兴趣。

灵魂腐蚀 发表于 2015-5-3 07:20:39

对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。

再现理想 发表于 2015-6-4 01:44:22

最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。

乐观 发表于 2015-6-12 08:47:35

学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql

柔情似水 发表于 2015-6-15 02:37:00

找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
页: [1]
查看完整版本: PHP网页编程之PHP毗连数据库的办法(2)