1

我有一个 mysql 存储过程,它需要 3 个参数 - 2 In 和 1 out 我正在使用 mysqli 从 php 调用这个过程

该过程将返回 1 行,我在调用它时使用以下代码

    $result = $mysqli->query("call get_hybrid_auth_session('".$userId."','".$loginSystem."', @hybridAuthSession)");
    $result = $mysqli->query( 'SELECT @hybridAuthSession' );
    $row = $result->fetch_object();

当我对 $row 属性执行 var_dump 时,我得到以下文本

object(stdClass)#16 (1) { ["@hybridAuthSession"]=> string(287) ".a:3:{s:40:"hauth_session.twitter.token.access_token";s:56:"s:48:"23801232-fkv05uitVRobpItrFFUn15I4Ejl0w80pr7GOH0A";";s:47:"hauth_session.twitter.token.access_token_secret";s:51:"s:43:"VKsFaQWnP8n9OcZK3MDCgRHQY0roLTFVXesBuONCYJo";";s:34:"hauth_session.twitter.is_logged_in";s:4:"i:1;";}." } 

当我对 $row->{"@hybridAuthSession"} 属性执行 var_dump 时,我得到以下值

string(287) ".a:3:{s:40:"hauth_session.twitter.token.access_token";s:56:"s:48:"23801232-fkv05uitVRobpItrFFUn15I4Ejl0w80pr7GOH0A";";s:47:"hauth_session.twitter.token.access_token_secret";s:51:"s:43:"VKsFaQWnP8n9OcZK3MDCgRHQY0roLTFVXesBuONCYJo";";s:34:"hauth_session.twitter.is_logged_in";s:4:"i:1;";}."

有没有办法在开始时不接收字符串(287)值?hybridAuthSession Out 参数在我的存储过程中定义为 Text

4

1 回答 1

0

Var dump 在将文本输出到屏幕时添加了附加信息,这是它的预期行为。经过更多测试后,代码按预期工作

于 2012-12-18T09:43:42.593 回答