PHP - MYSQL 存储过程输出参数

标签 php mysql mysqli

我有一个带有 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/

相关文章:

php - 调用 mysqli_fetch_assoc 最有效的方法

php - 上周,本周 (php)

php - Laravel 加入 Auth 表

c# - mysql 查询上的 saveFileDialog 文件夹路径

PHP 插入 - 首次输入的 UID 较大

php - 如何在 SELECT * 查询中使用 bind_result 函数

php - 建立与数据库的连接

javascript - Web 套接字不适用于 JavaScript 中的 SSL 和 WSS

php - woocommerce给50000种产品一个新的类别

sql - 将唯一约束应用于 SQL 中的列组合