科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件PHP Oracle(OCI) 初步

PHP Oracle(OCI) 初步

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在越来越多的PHP用户选择Oracle作为他们的数据库的情况下,如何访问PHP发布环境下的Oracle接口变的越发的重要了。我们将从快速的浏览一个简单基本且是更加明确的Oracle 的情况开始我们的旅程。

作者:51CTO.com整理  来源:51CTO.com整理  2007年9月14日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
现在是言归正传的时候了,释放原先的语句标识然后建立SQL语句.分析并执行SQL语句,

写代码时需注意:不同于MYSQL,Oracle在SQL语句中不支持限制语句。就本身而言,有很多方法选择特定的行,最好的方法是把选择的结果放在一个临时表里或者“缓冲“所有的结果。这样的方法已经超出了这篇教程的范围了。我们将使用一个更简单的方法,在下面将进一步的解释。

*/

OCIFreeStatement($stmt);

$sql = "Select * from table_name";

$stmt = OCIParse($conn, $sql);

if(!$stmt) {

echo "<h1>ERROR - Could not parse SQL statement.</h1>";

exit;

}

OCIExecute($stmt);

/*

现在显示结果。最简单的做法是在结果集合中使用这个循环。HTML将用来显示最终的结果,但是这个范例非常的简单,所以我们一个也不会用。

编写代码时注意:如上述规定的,在Oracle里是无法限制的,所以我们必须通过在全部的结果集取出我们想要的和终止我们已经有的结果来做这个循环。

在这一小节里,我们将会有几种不同的方法,实际上应该有更好的方法来写这个代码。但是我认为我的这种方法不太容易读懂,它确实运行有效。

*/

$i=0;

$j=0;

while( OCIFetchInto($stmt, &$result_array) ) {

if ($i>=$offset) {

if ($j <$limit) {

for ($k=0; $k<=count($result_array); $k++) {

echo $result_array[$k]." ";

}

echo "

";

$j++;

}

}

$i++;

}

echo "

";

/*

结果将显示在当前的页面里,现在是给访问者一个使用NEXT/PREV点击到其他页面的时候了

*/

// 计算结果所需的页面数,

$pages = intval($total_rows[0]/$limit);

// $pages 现在是除剩余的部分外总共所需的页面数

if ($total_rows[0]%$limit) {

// has remainder so add one page

$pages++;

}

//在显示的是第一页时不显示PREV的连接

if ($offset!=0) {

$prevoffset=$offset-$limit;

echo "<a href=\"$PHP_SELF?offset=$prevoffset\"><< PREV</a> &nbsp; \n";

}

// Now loop through the pages to create numbered links

// ex. 1 2 3 4 5 NEXT >>

for ($i=1;$i<=$pages;$i++) {

// Check if on current page

if (($offset/$limit) == ($i-1)) {

// $i is equal to current page, so don't display a link

echo "$i &nbsp; ";

} else {

// $i is NOT the current page, so display a link to page $i

$newoffset=$limit*($i-1);

echo "<a href=\"$PHP_SELF?offset=$newoffset\">$i</a> &nbsp; \n";

}

}

//检查当前页面是否为最后一页

if (!((($offset/$limit)+1)==$pages) && $pages!=1) {

// Not on the last page yet, so display a NEXT Link

$newoffset=$offset+$limit;

echo "<a href=\"$PHP_SELF?offset=$newoffset\">NEXT >></a><p>\n";

}

/*

现在我们完成了有关Oracle的任务,所以释放最后的语句标识并且退出。

*/

OCIFreeStatement($stmt);

OCILogoff($conn);

?>

所有人都还在这里?很好,你完成了!这个方法可以被用在很多更深入的理解Oracle和PHP的能力上。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章