我有一个带有 3 个参数的 mysql 存储过程 - 2 个输入和 1 个输出 我正在使用 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;";}."
有什么方法可以在开始时不接收 string(287) 值吗? hybridAuthSession Out 参数在我的存储过程中定义为 Text
最佳答案
Var dump 在将文本输出到屏幕时添加了额外的信息,这是它的预期行为。 经过更多测试后,代码按预期工作
关于PHP - MYSQL 存储过程输出参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13155424/