"/> ">

ホームページ >バックエンド開発 >PHPチュートリアル >ThinkPHP 3.0 でのストアド プロシージャの呼び出しに関連する問題

ThinkPHP 3.0 でのストアド プロシージャの呼び出しに関連する問題

WBOY
WBOYオリジナル
2016-06-13 13:43:33984ブラウズ

ThinkPHP 3.0 呼び出しストアド プロシージャの問題

PHP コード
<!--

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

-->
        $model = D('Demo');
        $str = 'aaa';
        $sql = "SET @uname = '$str'; CALL new_pr(@uname);";
        $data = $model -> query($sql, true);
        echo $model -> getLastSql();



OUTPUT
SET @uname = 'aaa' CALL new_pr(@uname);クエリ エディターでは、

Solve


を実行できます------解決策------ 区切り文字に問題がある可能性があります。次のことを試してください:

PHP コード
$sql = '区切り文字 //'; $sql .= "SET @uname = '$str';" $sql .= "CALL new_pr(@uname)//"; $sql .='区切り文字 ;';
<br>------解決策-----<font color="#e78608"></font>あなたが指摘した状況に遭遇しました。 thinkphp でストレージを呼び出す問題をどのように解決したか: データベースにリンクするときに追加のパラメーターを追加する: <br>define('CLIENT_MULTI_RESULTS',131072);<br>$conn = mysql_connect('127.0.0.1', 'root' ,'123456','1',CLIENT_MULTI_RESULTS) または die('接続に失敗しました');<br><br>試してみることができます。
<br><br>------解決策------------------<font color="#e78608"></font>
#13 のコードについて: <br>$str に値が割り当てられていないことを除いて、最初の段落と 3 番目の段落には違いはありません。<br>3 番目の段落が機能しないのは、$str に値が割り当てられていないためです。 <br><br>いいえ。1 つの段落は許可されているが 2 番目の段落は許可されていない場合、<br>ThinkPHP 3.0 はストアド プロシージャを宣言するだけでなく、それ以上のことは実行できないことを意味します。クエリ内の 1 つの SQL 命令 <br> 2 つの SQL 命令 <br><div class="clear"> を個別に実行する必要があります。</div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。