佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

搜索
查看: 1108|回复: 0

[已解决]php 和 mysqli 的问题。。

[复制链接]
发表于 5-11-2009 03:29 PM | 显示全部楼层 |阅读模式
  1. if ($stmt = $mysqli->prepare("CALL sp1(?)" {
  2.     /* bind parameters for markers */
  3.     $stmt->bind_param("s", $uid);
  4.     /* execute query */
  5.     $stmt->execute();

  6.     /* bind result variables */
  7.     $stmt->bind_result($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m);

  8.     /* fetch value */
  9.         while($stmt->fetch()){
  10.                 echo $a,' ',$b,' ',$c,' ',$d,' ',$e,' ',$f,' ',$g,' ',$h,' ',$i,' ',$j,' ',$k,' ',$l,' ',$m;
  11.         }
  12.     /* close statement */
  13.     $stmt->close();
  14. }
复制代码
0        0        0        0        0        0        0        0        2000        108000        0        0        110000 << return 回来的record
我的问题: 如果我return回来的要dynamic因该怎样放呢?。。。 假设return 100个record 那我不是要放100个parameter?

有哪位高手可以帮忙吗? $stmt->bind_result($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m); << 怎样才能简化
  1. if ($stmt = $mysqli->prepare("CALL sp1(?)") {
  2.         /* bind parameters for markers */
  3.         $stmt->bind_param("s", $year);
  4.         /* execute query */
  5.         $stmt->execute();
  6.    
  7.         $bindparameters=array();
  8.         for($i=0;$i<$stmt->result_metadata()->field_count;$i++)
  9.         {
  10.             $bindparameters[$i]='';
  11.             $garbage[]=&$bindparameters[$i];
  12.         }
  13.         call_user_func_array(array($stmt,"bind_result",$bindparameters);
  14.         $stmt->fetch();
  15.         $stmt->close();
  16.     }
复制代码
多谢。神的帮忙。。

[ 本帖最后由 MeoW 于 6-11-2009 03:23 PM 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2026 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 7-5-2026 09:48 PM , Processed in 0.080272 second(s), 14 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表