您现在的位置: 无忧电子商务网 >> 信息学院 >> 程序开发 >> php >> 正文

PHP 5 数据对象 (PDO) 抽象层与 Oracle

作者:佚名    信息学院来源:整理    点击数:    更新时间:2008-2-2 我要参与讨论

  e)");
  预处理了语句之后,我们使用 bindParam() 方法来将这些命名参数分别与 PHP 变量名称“$extension”和“$name”相关联(这与 ocibindbyname() 类似)。我们还会通知 Oracle,这些数据将要格式化为字符串,最大长度为 64 个字符。

  $stmt->bindParam(':extension', $extension, PDO_PARAM_STR, 64);
  $stmt->bindParam(':name',      $name,      PDO_PARAM_STR, 64);
  我们现在即准备好插入数据了 - 我们只需要打开该 CSV 文件,并从中获取数据即可。通过使用 fopen() 和 fgetcsv() 函数可以相当简单地完成此操作。然后,我们可以使用 PHP list() 构造函数直接将 CSV 的列指定给变量“$extension”和“$name”。因为这些变量已经绑定到了语句中,所以我们现在要做的只是调用该语句对象的 execute() 方法使其执行插入。这种方式既方便又快捷 - 在事务处理时每个迭代循环只有两行。到达文件尾时,我们就可以立即使用数据库句柄的 commit() 方法来提交这些更改了。

  如果您只是要传递输入参数,并且有许多这样的参数要传递,那么您会觉得下面所示的快捷方式语法非常有帮助;此语法使您能够省去对 $stmt->bindParam() 的调用。

  $stmt = $dbh->prepare("INSERT INTO CREDITS (extension, name) VALUES (:extension, :name)");
  $stmt->execute(array(':extension' => $extension, ':name' => $name));
  您还可以使用 bindParam 来为存储过程设置输入/输出参数;语法是完全相同的,只是查询有所不同。下面的代码演示如何调用一个名为“sp_add_item”的存储过程;其目的是要针对输入设置 $item_name,然后该存储过程将在返回时更新 $error_code。

  $stmt = $dbh->prepare("begin sp_add_item(:item_name, :error_code); end");
  $stmt->bindParam(':item_name', $item_name, PDO_PARAM_STR,  12);
  $stmt->bindParam(':error_code', $error_code, PDO_PARAM_STR, 12);
  $stmt->execute();
  抓取数据
  使用 PDO 抓取数据与进行插入或更新相似,只是您执行完查询之后,将要重复调用 fetch() 方法来获取结果集的下一行。进行获取的最简单情况如下所示,值得注意的一点是,您还可以将参数绑定到查询,以控制如 WHERE 子句这样的内容;执行此操作的语法与我们已经看到的 bindParam() 代码完全相同。

  $stmt = $dbh->prepare("SELECT extension, name from CREDITS");
  if ($stmt->execute()) {
  while ($row = stmt->fetch()) {
  pri

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

在google里搜索更多PHP 5 数据对象 (PDO) 抽象层与 Oracle

Google
Web www.51ec.org
【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
我来说两句 对此文章发表了评论
  昵 称: *必填    ·注册用户·
  评 分: 1分 2分 3分 4分 5分     严禁发表危害国家安全、政治、黄色淫秽等内容的评论,用户需对自己在使用本网站服务过程中的行为承担法律责任。本站管理员有权保留或删除评论内容,评论内容只代表机友个人观点,与本网站立场无关。  
评 论
内 容

 
评论列表 (最新 评论仅限网友观点!)

供求信息




| 设为首页 | 加入收藏 | 关于我们 | 广告服务 | 联系方式 | 友情链接 | 版权申明