php 操作 Oracle数据代码

 更新时间:2016年11月25日 15:13  点击:2048
提供一款超简单的php Oracle 数据库 导出代码哦。

提供一款超简单的php  Oracle 数据库 导出代码哦。

<?php
$conn=OCILogon("用户名","密码","(DESCRIPTION=(ADDRESS=(PROTOCOL =TCP)(HOST=IP)(PORT = 1521))(CONNECT_DATA =(SID=lcx)))");
//$sql="select * from all_tab_columns where table_name='MEMBER'";//Table Structure
$sql="select USER_ID,PASSWORD from MEMBER where IDX < 100";//sql语句
$stmt = OCIParse($conn, $sql);
OCIExecute($stmt);
$rows = OCIFetchstatement($stmt,$results);
$keys = array_keys($results);
$table = "<table>n <TR>n";
foreach($keys as $key)
{
$table .= " <TH>$key</TH>n";
}
$table .= " </TR>n";
for($i=0;$i<$rows;$i++)
{
$table .= " <TR>";
foreach($results as $spalte)
{
$data = $spalte[$i];
$table .= " <TD>$data</TD>";
}
$table .=" </TR>";
}
echo $table;
$sStr="/home/lcx.htm";
fputs(fopen($sStr,'a+'),$table);
?>

下面这个函数是一个读取指定文件的内容然后再用php explode 与 implode来进行分析,然后我们再讲一下explode与implode的区别与使用方法

 function htmlTemplate($tag){
  $url ="file.txt";//file文件里面保存的是我要所数据并且是以<!-- 内容 -->为界线的。
  $content = file_get_contents($url); 读取文件
  if( !empty( $content ) ){
   $array = explode('<!-- 内容 -->',$content);  //进行数据处理,然后保存到数组array里面
  }else{
   echo 'error';
  }
  if( $tag ){
   return $array[1];//数据1里面是保存了一段数据
  }
  $temp = $array[16];
  $tempArray = explode('</span>',$temp); //16里面有数据</span>所以我们再进行inplode对数据进行合并成字符串就OK了。
  for($i = 0 ;$i<=3;$i++) {
   $tArray[] =$tempArray[$i];
  }
  return implode("</span>",$tArray ).'</span>';
  
 }

本站原创转载注明:www.111cn.net/phper/php.html

关于$i++与++$i是什么区别了,下面来看看这些区别的分别。

<?php
方式一:

$begin = time();
$i = 0;
while(++$i < 10000)
{
$j = 0;
  while(++$j < 10000)
    ;
  ;
}
$end = time();

时间 : 16s

方式二:

$begin = time();
$i = 0;
while($i < 10000)
{
$j = 0;
  while($j < 10000)
    ++$j;
  ++$i;
}
$end = time();

时间:13s

方式三:

$begin = time();
$i = 0;
while($i < 10000)
{
$j = 0;
  while($j < 10000)
$j++;
  $i++;
}
$end = time();


时间:15s

 

方式四:

$begin = time();
$i = 0;
while($i++ < 10000)
{
$j = 0;
  while($j++ < 10000)
    ;
  ;
}
$end = time();
时间:13s


呵呵, 为什么会这样呢?
对比第一种方法和第二种方法, 因为在PHP中, 最终被执行的是OPCODE, 每行opline都有俩个操作数, 对于操作数来说, 一般有3种类型的存取方式, 临时变量, 变量, 和编译时变量, 这三种变量其中, 存取最快的是第三种, 编译器变量, 在OpCode执行过程中, 会讲一个变量的加一级引用存储在一个hash结构中, 用来加快存取速度.
在第一种方法中:
$i = 0;
while(++$i < 10000)
{
$j = 0;
  while(++$j < 10000)
    ;
  ;
}


因为对于++$i来说, 我们需要得到它的返回值, 来和10000做比较, 这样就会使得PHP在编译的时候 , 生成一个变量(IS_VAR), 来保存自增的结果 , 也就是说, 这个时候用到了opline的return操作数.
然后, PHP会拿这个变量(IS_VAR)来和10000做比较.
而对于第二种方式:
$i = 0;
while($i < 10000)
{
$j = 0;
  while($j < 10000)
    ++$j;
  ++$i;
}


这个过程中, $i已经优化成了编译变量(IS_CV), 而对于++$i, 因为我们不需要保存他的返回值, 所以也只是直接对编译变量进行自增..
也就是说, 方法一和方法二的速度差异, 就在于 对于方式二, 我们一直都在实用编译变量.. 编译变量的存取速度远快于变量(IS_VAR)
再来看第三种和第四种方式:
//3:
$i = 0;
while($i < 10000)
{
$j = 0;
  while($j < 10000)
$j++;
  $i++;
}
//4:
$i = 0;
while($i++ < 10000)
{
$j = 0;
  while($j++ < 10000)
    ;
  ;
}


我们知道后缀自增(POST_INC), 会返回一个对原值的copy, 然后自增.
对于第四种方式, $i++以后, ZE会将$i的原值, 存储在一个临时变量(IS_TMP_VAR). 并且会拿这个临时变量和10000对比.
所以, 严格来讲, 这部分的速度比起第一种方式来说是会慢一些的.

本文章主要以一个cookie的实现来讲述php对cookie的设置时间,读取以及删除等

function PutCookie($key,$value,$kptime=0,$pa="/")
{
 global $cfg_cookie_encode;
 setcookie($key,$value,time()+$kptime,$pa);
 setcookie($key.'__ckMd5',substr(md5($cfg_cookie_encode.$value),0,16),time()+$kptime,$pa);
}

function DropCookie($key)
{
 setcookie($key,'',time()-360000,"/");
 setcookie($key.'__ckMd5','',time()-360000,"/");
}

function GetCookie($key)
{
 global $cfg_cookie_encode;
 if( !isset($_COOKIE[$key]) || !isset($_COOKIE[$key.'__ckMd5']) )
 {
  return '';
 }
 else
 {
  if($_COOKIE[$key.'__ckMd5']!=substr(md5($cfg_cookie_encode.$_COOKIE[$key]),0,16))
  {
   return '';
  }
  else
  {
   return $_COOKIE[$key];
  }
 }
}

这里提供了一款php 中文字符截取代码哦,包括对中文,asc,utf-8等字符进行截取功能哦。

//中文截取2,单字节截取模式
//如果是request的内容,必须使用这个函数
function cn_substrR($str,$slen,$startdd=0)
{
 $str = cn_substr(stripslashes($str),$slen,$startdd);
 return addslashes($str);
}

//中文截取2,单字节截取模式
function cn_substr($str,$slen,$startdd=0)
{
 global $cfg_soft_lang;
 if($cfg_soft_lang=='utf-8')
 {
  return cn_substr_utf8($str,$slen,$startdd);
 }
 $restr = '';
 $c = '';
 $str_len = strlen($str);
 if($str_len < $startdd+1)
 {
  return '';
 }
 if($str_len < $startdd + $slen || $slen==0)
 {
  $slen = $str_len - $startdd;
 }
 $enddd = $startdd + $slen - 1;
 for($i=0;$i<$str_len;$i++)
 {
  if($startdd==0)
  {
   $restr .= $c;
  }
  else if($i > $startdd)
  {
   $restr .= $c;
  }

  if(ord($str[$i])>0x80)
  {
   if($str_len>$i+1)
   {
    $c = $str[$i].$str[$i+1];
   }
   $i++;
  }
  else
  {
   $c = $str[$i];
  }

  if($i >= $enddd)
  {
   if(strlen($restr)+strlen($c)>$slen)
   {
    break;
   }
   else
   {
    $restr .= $c;
    break;
   }
  }
 }
 return $restr;
}

//utf-8中文截取,单字节截取模式
function cn_substr_utf8($str, $length, $start=0)
{
 if(strlen($str) < $start+1)
 {
  return '';
 }
 preg_match_all("/./su", $str, $ar);
 $str = '';
 $tstr = '';

 //为了兼容mysql4.1以下版本,与数据库varchar一致,这里使用按字节截取
 for($i=0; isset($ar[0][$i]); $i++)
 {
  if(strlen($tstr) < $start)
  {
   $tstr .= $ar[0][$i];
  }
  else
  {
   if(strlen($str) < $length + strlen($ar[0][$i]) )
   {
    $str .= $ar[0][$i];
   }
   else
   {
    break;
   }
  }
 }
 return $str;
}

[!--infotagslink--]

相关文章

  • C#连接SQL数据库和查询数据功能的操作技巧

    本文给大家分享C#连接SQL数据库和查询数据功能的操作技巧,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友参考下吧...2021-05-17
  • php简单数据操作的实例

    最基础的对数据的增加删除修改操作实例,菜鸟们收了吧...2013-09-26
  • 解决Mybatis 大数据量的批量insert问题

    这篇文章主要介绍了解决Mybatis 大数据量的批量insert问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-09
  • Antd-vue Table组件添加Click事件,实现点击某行数据教程

    这篇文章主要介绍了Antd-vue Table组件添加Click事件,实现点击某行数据教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-17
  • 详解如何清理redis集群的所有数据

    这篇文章主要介绍了详解如何清理redis集群的所有数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-18
  • 不打开网页直接查看网站的源代码

      有一种方法,可以不打开网站而直接查看到这个网站的源代码..   这样可以有效地防止误入恶意网站...   在浏览器地址栏输入:   view-source:http://...2016-09-20
  • vue 获取到数据但却渲染不到页面上的解决方法

    这篇文章主要介绍了vue 获取到数据但却渲染不到页面上的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-19
  • php 调用goolge地图代码

    <?php require('path.inc.php'); header('content-Type: text/html; charset=utf-8'); $borough_id = intval($_GET['id']); if(!$borough_id){ echo ' ...2016-11-25
  • JS基于Mootools实现的个性菜单效果代码

    本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
  • php把读取xml 文档并转换成json数据代码

    在php中解析xml文档用专门的函数domdocument来处理,把json在php中也有相关的处理函数,我们要把数据xml 数据存到一个数据再用json_encode直接换成json数据就OK了。...2016-11-25
  • JS+CSS实现分类动态选择及移动功能效果代码

    本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
  • JS实现自定义简单网页软键盘效果代码

    本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
  • mybatis-plus 处理大数据插入太慢的解决

    这篇文章主要介绍了mybatis-plus 处理大数据插入太慢的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-18
  • php 取除连续空格与换行代码

    php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
  • php简单用户登陆程序代码

    php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p>&nbsp;</p> <p>&nbsp;</p> <form name="form1...2016-11-25
  • PHP实现清除wordpress里恶意代码

    公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
  • postgresql数据添加两个字段联合唯一的操作

    这篇文章主要介绍了postgresql数据添加两个字段联合唯一的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-04
  • Oracle使用like查询时对下划线的处理方法

    这篇文章主要介绍了Oracle使用like查询时对下划线的处理方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-16
  • JS实现双击屏幕滚动效果代码

    本文实例讲述了JS实现双击屏幕滚动效果代码。分享给大家供大家参考,具体如下:这里演示双击滚屏效果代码的实现方法,不知道有觉得有用处的没,现在网上还有很多还在用这个特效的呢,代码分享给大家吧。运行效果截图如下:在线演...2015-10-30
  • js识别uc浏览器的代码

    其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08