当前位置: 首页 > 图文教程 > 网络编程 > PHP > php3的ODBC函数

PHP
MYSQL版本大于4.1问题 - PHPchina
怎么让用户点击一个连接后,把一个图片另存了 - PHPchina
武汉10月15日Phper聚会召集!!! - PHPchina
php如果不等待exec执行的程序创建的子进程? - PHPchina
哪位知道DISCUZ处理防SQL注入的代码是哪部分 - PHPchina
求教!我实在不知道哪里问题,在线等ing - PHPchina
怎样结束用户某一进程 - PHPchina
比对用户名密码能不能这样写? - PHPchina
求助:如何在PHP+mysql中实现数据备份? - PHPchina
大家看看这个配置对吗 - PHPchina
如何禁止require当前文件 - PHPchina
无法将回调函数放在类中? - PHPchina
村里 PHP代码高亮是怎么实现的? - PHPchina
apache安装后.服务里没有apache2这个服务! - PHPchina
请教一个小问题 - PHPchina
config.php里面是不是应该把多数参数设置为常量而不是变量? - PHPchina
请教高手一个问题 - PHPchina
如何让百度收录我的网站 ?? - PHPchina
谁能给个注入的简单语句? - PHPchina
求PHP站内搜索思路 - PHPchina

PHP 中的 php3的ODBC函数


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 349 ::
收藏到网摘: n/a

       刘国斌·转自CPCW
  
  现在我们将PHP3中常用的ODBC函数列举一下:
  
  odbc_connect (dns,user ,pass);
  返回一个连接号,如果连接失败则返回0。
  
  odbc_pconnect (dns,user,pass);
  特殊连接,脚本运行结束后,连接并不断开。第二次连接相同的dns时快一些。
  
  odbc_commit (连接号);
  中断该连接正在执行的线程,成功返回True,失败返回False。
  
  odbc_autocommit (连接号,0/1);
  当参数为1时,设置该连接正在执行的所有线程为自动中断。
  
  odbc_do/odbc_exec (连接号,sql语句);
  执行sql语句,返回一个结果号,如果操作失败则返回false。
  
  odbc_prepare (连接号,sql语句);
  返回一个结果号,但不执行sql语句。可以以后用odbc_execute(该结果号)来执行。
  
  odbc_fetch_into (结果号,[记录数,] 数组);
  把结果的某条记录(省略为下一条记录),放入数组(从[0]开始),不论数组的类型。
  返回该记录在结果中的位置,如操作失败则返回false。
  
  odbc_fetch_row (结果号,[记录数]);
  移到某条记录(省略为下一条记录),该记录可被odbc_result读写。
  
  odbc_num_fields (结果号);
  返回字段总数。
  
  odbc_num_rows (结果号);
  返回记录总数。
  
  odbc_result (结果号,字段号/字段名);
  返回结果中当前记录中该字段号/字段名的字段。
  
  odbc_result_all (结果号,sql语句);
  返回所有查询结果,并以html表格输出。
  
  odbc_field_name/odbc_field_type/odbc_field_len (结果号,字段号);
  返回该字段的字段名/数据类型/数据长度。
  
  odbc_lonreaglen (结果号,长度);
  设置返回结果的字段长度,如长度为0则全部返回。
  
  odbc_free_result (结果号);
  释放内存,当不需要内存中的查询结果时。
  
  odbc_cursor (结果号);
  返回一个指针,指向该结果。
  
  odbc_rollback
  odbc_close (连接号);
  关闭该连接。
  
  odbc_close_all();
  关闭所有连接。
  
  
  
  一个用PHP3来操纵ODBC数据库的具体例子。
  
  db为odbc的dsn名,tab1为表名
  
  
  
  echo "ODBC Samples"."
  ";
  $Connection_ID=odbc_connect("db","","");
  $Result_ID=odbc_exec($Connection_ID,"Select * from tab1");
  $i=1;
  $fldCount=odbc_num_fields($Result_ID);
  echo "";
  while (odbc_fetch_row($Result_ID,$i)<>0)
  {
   echo " ";
   for ($j=1;$j<=$fldCount;$j++)
   {
    echo " ".$i." ";
    echo " ".odbc_result($Result_ID,$j)." ";
   }
   echo "
  ";
   $i=$i+1;
  }
  echo " ";
  ?>
  
  
  
  
  其实查询过程还可以简化为:
  $Connection_ID=odbc_connect("db","","");
  $Result_ID=odbc_exec($Connection_ID,"Select * from tab1");
  $fldCount=odbc_num_fields($Result_ID);
  odbc_result_all($Result_ID);
  ?>