代码如下:<?php
/*
利用mysqli扩展来绑定结果
*/
//新建服务器连接
$mysqli=new mysqli('localhost','root','root','searcdb');
//创建查询
$query="SELECT adminName,adminPwd FROM admininfo";
//创建语句对象
$stmt=$mysqli->stmt_init();
//为执行准备语句
$stmt->prepare($query);
//执行语句
$stmt->execute();
//绑定结果参数
$stmt->bind_result($name,$pwd);
//循环处理结果并输出数据
while($stmt->fetch()){
printf("%s, %s, %s <br />",$name,$pwd);
}
//恢复语句资源
$stmt->close();
//关闭连接
$mysqli->close();
?>
这个语句到底有什么问题啊 我直接做增删改查是可以,但是无论是采用mysqli绑定结果或者绑定参数的方法都不行,求大侠指导啊,公司实习很快就要用它做项目了,急用急用!!

解决方案 »

  1.   

     printf("%s, %s, %s <br />",$name,$pwd); ???少了一个参数
    或者说多了一个格式符
      

  2.   

    少了一行代码,要把查询结果临时存储才能使用。
    仅供参考:function selectLink($oid){
    $sql = "select o.oid,l.lid,c.cid,comName,comPrice,ordTime
    from mis_order o,mis_link l,mis_commodity c
    where o.oid=l.lid and c.cid=l.cid and o.oid=?";
    $stmt = $this->mysqli->prepare($sql);
    $stmt->bind_param("i",$oid);
    $stmt->execute();
    $stmt->store_result();
    $stmt->bind_result($oid,$lid,$cid,$comName,$comPrice,$ordTime);
    $rows = $stmt->affected_rows;
    if($rows > 0){
    $arrLink = array();
    while($stmt->fetch()){
     $arr = array(
    "oid" => $oid,
    "lid" => $lid,
    "cid" => $cid,
    "comName" => $comName,
    "comPrice" => $comPrice,
    "ordTime" => $ordTime
    );
    array_push($arrLink,$arr);
    }
    return $arrLink;
    }else{
    echo "查询订单明细失败!<br/>";
    }
    }
      

  3.   

    dmtnewtons 兄弟的解答非常好,这个在mysql自己的说明里都没有。