欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

为什么无法使用php中mysqli的准备语句进行数据库中数据的查询(绑定参数或者绑定结果),项目急用!该如何处理

程序员文章站 2023-12-22 15:07:28
...
为什么无法使用php中mysqli的准备语句进行数据库中数据的查询(绑定参数或者绑定结果),项目急用!
代码如下:
PHP code

stmt_init();
    //为执行准备语句
    $stmt->prepare($query);
    //执行语句
    $stmt->execute();
    //绑定结果参数
    $stmt->bind_result($name,$pwd);
    //循环处理结果并输出数据
    while($stmt->fetch()){
        printf("%s, %s, %s 
",$name,$pwd); } //恢复语句资源 $stmt->close(); //关闭连接 $mysqli->close(); ?>
这个语句到底有什么问题啊 我直接做增删改查是可以,但是无论是采用mysqli绑定结果或者绑定参数的方法都不行,求大侠指导啊,公司实习很快就要用它做项目了,急用急用!!

------解决方案--------------------
printf("%s, %s, %s
",$name,$pwd); ???

少了一个参数
或者说多了一个格式符
------解决方案--------------------
多一个占位符。你不是只有两个参数吗?
------解决方案--------------------
少了一行代码,要把查询结果临时存储才能使用。
仅供参考:
PHP code

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 "查询订单明细失败!
"; } }
为什么无法使用php中mysqli的准备语句进行数据库中数据的查询(绑定参数或者绑定结果),项目急用!该如何处理

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


上一篇:

下一篇: