- if ($stmt = $mysqli->prepare("CALL sp1(?)" {
- /* bind parameters for markers */
- $stmt->bind_param("s", $uid);
- /* execute query */
- $stmt->execute();
- /* bind result variables */
- $stmt->bind_result($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m);
- /* fetch value */
- while($stmt->fetch()){
- echo $a,' ',$b,' ',$c,' ',$d,' ',$e,' ',$f,' ',$g,' ',$h,' ',$i,' ',$j,' ',$k,' ',$l,' ',$m;
- }
- /* close statement */
- $stmt->close();
- }
复制代码 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); << 怎样才能简化- if ($stmt = $mysqli->prepare("CALL sp1(?)") {
- /* bind parameters for markers */
- $stmt->bind_param("s", $year);
- /* execute query */
- $stmt->execute();
-
- $bindparameters=array();
- for($i=0;$i<$stmt->result_metadata()->field_count;$i++)
- {
- $bindparameters[$i]='';
- $garbage[]=&$bindparameters[$i];
- }
- call_user_func_array(array($stmt,"bind_result",$bindparameters);
- $stmt->fetch();
- $stmt->close();
- }
复制代码 多谢。神的帮忙。。
[ 本帖最后由 MeoW 于 6-11-2009 03:23 PM 编辑 ] |