php函数错误(类PDOStatement的对象) [英] Php function error (Object of class PDOStatement)

查看:348
本文介绍了php函数错误(类PDOStatement的对象)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您的问题出在哪里?

错误:可捕获的致命错误:PDOStatement类的对象无法转换为字符串

Error : Catchable fatal error: Object of class PDOStatement could not be converted to string

DB类中的sp函数;

sp function in DB Class;

function sp()
{
    $this->baglantiAc();
    $query = $this->db->prepare("DECLARE @key nvarchar(50); EXEC [dbo].[get_next_UniqueNumber] @key_lenght = 50, @key = @key OUTPUT; SELECT @key as lkey");
    $query->execute();
    $query->nextRowset();
    $this->baglantiKapat();
    //var_dump($query->fetch(PDO::FETCH_ASSOC));
    $query->fetch(PDO::FETCH_ASSOC);
    return $query;

}

我正在这样调用页面,但是有错误.

I am calling the page like this, but there is an error.

$DB = new DB_Class();
$row = $DB->sp();
echo $row;

推荐答案

我建议使用var_dump删除注释,然后看看您得到了什么.查询似乎出了点问题,我至少可以看到length的错字.

I would recommend to remove the comment with var_dump and see what you are getting. It seems there is something wrong with the query and I can see at least one typo with length.

此外,查询是您尝试回显的PDOStatement的对象. 如果您想获取访存的响应,我会推荐这样的东西:

Also, query is an object of PDOStatement which you are trying to echo. If you want to get the response of fetch I would recommend something like this:

function sp()
{
     $this->baglantiAc();
     $query = $this->db->prepare("DECLARE @key nvarchar(50); EXEC [dbo].[get_next_UniqueNumber] @key_length = 50, @key = @key OUTPUT; SELECT @key as lkey");
     $query->execute();
     $query->nextRowset();
     $this->baglantiKapat();
     //var_dump($query->fetch(PDO::FETCH_ASSOC));
     $response = $query->fetch(PDO::FETCH_ASSOC);
     return $response;
}

$DB = new DB_Class();
$row = $DB->sp();
print_r($row);

这篇关于php函数错误(类PDOStatement的对象)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆