2017.8.16

一、PHP 数据库 ODBC



ODBC 是一种应用程序编程接口(Application Programming Interface,API),使我们有能力连接到某个数据源(比如一个 MS Access 数据库)。


1、创建 ODBC 连接

通过一个 ODBC 连接,您可以连接到您的网络中的任何计算机上的任何数据库,只要 ODBC 连接是可用的。

这是创建到达 MS Access 数据库的 ODBC 连接的方法:

  1. 在控制面板中打开管理工具图标。
  2. 双击其中的数据源(ODBC)图标。
  3. 选择系统 DSN 选项卡。
  4. 点击系统 DSN 选项卡中的添加
  5. 选择Microsoft Access Driver。点击完成
  6. 在下一个界面,点击选择来定位数据库。
  7. 为数据库起一个数据源名(DSN)
  8. 点击确定

请注意,必须在您的网站所在的计算机上完成这个配置。如果您的计算机上正在运行 Internet 信息服务(IIS),上面的指令将会生效,但是如果您的网站位于远程服务器,您必须拥有对该服务器的物理访问权限,或者请您的主机提供商为您建立 DSN。


2、连接到 ODBC

odbc_connect() 函数用于连接到 ODBC 数据源。该函数有四个参数:数据源名、用户名、密码以及可选的指针类型。

odbc_exec() 函数用于执行 SQL 语句。

实例

下面的实例创建了到达名为 northwind 的 DSN 的连接,没有用户名和密码。然后创建并执行一条 SQL 语句:

$conn=odbc_connect(‘northwind‘,‘‘,‘‘);
$sql="SELECT * FROM customers";
$rs=odbc_exec($conn,$sql);

3、取回记录

odbc_fetch_row() 函数用于从结果集中返回记录。如果能够返回行,则函数返回 true,否则返回 false。

该函数有两个参数:ODBC 结果标识符和可选的行号:

odbc_fetch_row($rs)//返回true或者FALSE

4、从记录中取回字段

odbc_result() 函数用于从记录中读取字段。该函数有两个参数:ODBC 结果标识符和字段编号或名称。

下面的代码行从记录中返回第一个字段的值:

$compname=odbc_result($rs,1);

下面的代码行返回名为 "CompanyName" 的字段的值:

$compname=odbc_result($rs,"CompanyName");

5、关闭 ODBC 连接

odbc_close() 函数用于关闭 ODBC 连接。

odbc_close($conn);

ODBC 实例

下面的实例展示了如何首先创建一个数据库连接,接着创建一个结果集,然后在 HTML 表格中显示数据。

<html>
<body>

<?php
$conn=odbc_connect(‘northwind‘,‘‘,‘‘);//1、连接ODBC
if (!$conn)
{
    exit("连接失败: " . $conn);
}

$sql="SELECT * FROM customers";
$rs=odbc_exec($conn,$sql);//2、执行SQL语句

if (!$rs)
{
    exit("SQL 语句错误");
}
echo "<table><tr>";
echo "<th>Companyname</th>";
echo "<th>Contactname</th></tr>";

while (odbc_fetch_row($rs))
{
    $compname=odbc_result($rs,"CompanyName");//3、取回字段
    $conname=odbc_result($rs,"ContactName");
    echo "<tr><td>$compname</td>";
    echo "<td>$conname</td></tr>";
}
odbc_close($conn);//4、关闭连接
echo "</table>";
?>

</body>
</html>

以上内容来自W3school,还没有自己验证过。

时间: 2024-11-10 15:51:54

2017.8.16的相关文章

2017年1-6月流水帐

2017年 1月 ======================================== 2日,实现C++,AOB(Array of Byte)字节数组文件扫描,类似CheatEngine的AOB内存,只不过我扫的是硬盘文件,如某文件包含16进制特征码AA BB CC DD 11 33 58 99就可以扫出来,可以简单的对某类文件,比如bmp,dds,ogg之类的, 直接序列化打包的文件进行扫描,不知道有没有什么类似的软件,反正自己写了个,WinHex可以单个文件扫,但是没有批量扫描功

2017.1.16 进度 项目4开头

今天的大部分时间都用在想UI怎么设计以及,如何把button放在title bar上,结果后者怎么也实现不了,于是只好先放弃在这次的这个音乐播放半成品里面使用了. 其实想想也是,这次的主要考察对象是activity之间的转换,我总是把它的重点跑偏-- 放上代码存个档: activity_main.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android=&q

2017.4.16 StringBuilder &amp; StringBuffer关键源码解析

String.StringBuilder.StringBuffer的异同点 结合之前写的博文,我们对这三个常用的类的异同点进行分析: 异: 1>String的对象是不可变的:而StringBuilder和StringBuffer是可变的. 2>StringBuilder不是线程安全的:而StringBuffer是线程安全的 3>String中的offset,value,count都是被final修饰的不可修改的:而StringBuffer和StringBuilder中的value,cou

2017.2.16 开涛shiro教程-第十七章-OAuth2集成

原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 开涛shiro教程-第十七章-OAuth2集成 1.OAuth2介绍 (1)应用场景 很多开放平台,比如新浪微博开放平台,都在使用开发API接口供开发者使用.即带来了,第三方应用要到开放平台授权的问题.OAuth就是做这个的. 1 OAuth2官网:http://oauth.net/2/ 2 OAuth2协议:http://tools.ietf.org/html/

2017.12.16 扫雷小游戏未完成

package saolei; /* * 设计一个二维数组,用于存放雷和周围八个格子雷的个数, * 再定义两个一维数组分别存放雷的X和Y坐标, * 布雷,记录周围八个格子雷的个数. */ import java.util.Random; public class Block { protected int[][] Array;//用于存放雷和周围雷的个数 protected int[] ArrayTestX;//用于存放雷的X坐标 protected int[] ArrayTestY;//用于存

2017.7.16 网络层路由器的知识点

一 , 路由器接口必须在不同网段. 二 , 静态路由:由管理员手动配置的,是单向的      2, 缺点是缺乏灵活性. 私有地址:1满足企业用户在内部网络中使用的需求. 2,私有地址不能在lnternet上使用     3, 私有网络包含3组 (a类  10.0.0.0~~10.255.255.255.255     b类:172.16.0.0~~172.31.255.255    C类:192.168.0.0~~192.168.255.255) 三,IP地址分为5类 :A.B.C.D.E 五类

[3D数学]矩阵 2017.8.16

<1>有时候我们想对整个物体做一定量旋转,其实可以直接对物体坐标系进行相反量的旋转 比如:现在想对一个物体顺时针旋转20度,再扩大200%,,既可以对这个物体的坐标系先缩小200%,再逆时针旋转20度:  注意这里组合变换,需要以相反的顺序做变换 <2>2D旋转矩阵:限制了位移 绕原点旋转 [cosθ  sinθ] [-sinθ  cosθ] 对一个向量(4,2)旋转θ度 (4*cosθ-2*sinθ,4*sinθ+2*cosθ) 即为旋转θ度后的向量

新手程序员 工作日志 2017.4 .16

今天是星期日 这两天 好好地睡了两天 这一周干了3 个任务 第一个任务是删除jsp文件的一个选项 关键是如何从页面上找到相应的位置所在并修改 具体的从页面查看 编辑 按钮的页面 所在 进行查找Struts层 的 wrongthemebook.xml 文件----查找相应的method方法(editor)----查找相应的文件jsp) {wsf} 是系统安排的变量 {ctx}自己定义的变量 2 文森特 的 格式改变问题 即是打印机构显示为 文森特 ---xxx代理机构---- webRoot---

周总结(2017.2.16):第一周算法学习。

周总结:算法学习总结之DFS和BFS 一:DFS算法 目的:达到被搜索结构的叶节点. 定义:假定给定图G的初态是所有的定点都没有访问过,在G中任选一定点V为初始出发点,首先访问出发点并标记,然后依次从V出发搜索V的每个相邻点W,若W未曾出现过,则对W进行深度优先遍历(DFS),知道所有和V有路径相通的定点被访问. 如果从V0开始寻找一条长度为4的路径的话: 思路步骤: 先寻找V0的所有相邻点:dis{v1,v2,v3},V1没有访问过,所以对V1进行深度遍历并将V1标记为访问过,此时路径长度为1

2017.2.16 linux

vm虚拟机使用ubuntu16.04来学习. 一.基础命令 1.cat命令 cat用法:  1.cat  filename(打开的文件) 2.cat filename1 filename2 >filename3(把filename3原有的清除后追加filename1 filename2的内容) 或者cat filename1 filename2 >>filename3 (在filename3后面追加filename1 filename2的内容) 3.cat >filename(文件