我有一个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
答案 0 :(得分:0)
Var转储在将文本输出到屏幕时添加了其他信息,这是其预期的行为。 经过一些测试,代码按预期工作