PHP で mysqli のプリペアド ステートメントを使用してデータベース内のデータ (バインド パラメーターまたはバインド結果) をクエリできないのはなぜですか? プロジェクトが緊急に必要です。何をするか

WBOY
リリース: 2016-06-13 13:46:19
オリジナル
794 人が閲覧しました

PHP で mysqli のプリペアド ステートメントを使用してデータベース内のデータ (バインド パラメーターまたはバインド結果) をクエリできないのはなぜですか? プロジェクトが緊急に必要です。
コードは次のとおりです:

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<?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 を使用しているかどうかは何ですか?またはバインドパラメータ。どれも機能しません。会社がすぐにインターンシッププロジェクトで使用する予定なので、早急に必要です。 !

-----解決策---------
printf("%s, %s , %s
",$name,$pwd); ? ? ?

パラメータが 1 つ欠落しています
、またはフォーマット文字が 1 つ以上あります
------解決策---------
もう 1 つのプレースホルダーです。パラメータが2つしかないんじゃないの?
------解決策------------------
コードが 1 行欠落しているため、クエリ結果を使用する前に一時的に保存する必要があります。
参考のみ:
PHP コード

関数 selectLink($oid){
        $sql = "o.oid、l.lid、c.cid、comName、comPrice、ordTime を選択します
                注文ミス o、リンクミス l、商品ミス c から
                ここで、o.oid=l.lid および c.cid=l.cid および 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 = 配列();
            while($stmt->fetch()){
                 $arr = 配列(
                    "oid" => $oid,
                    "蓋" => $蓋、
                    "cid" => $cid、
                    "comName" => $comName,
                    "comPrice" => $comPrice、
                    "ordTime" =>
                );
                array_push($arrLink,$arr);
            }
            $arrLink を返します。
        }それ以外{
            echo "注文の詳細をクエリできませんでした!<br/>";
        }
    <div class="clear"></div>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート