繁体   English   中英

为什么当我尝试在Slim3中使用PDO :: PARAM_STR时,Slim返回错误?

[英]Why when I try to use PDO::PARAM_STR in Slim3, Slim return an error?

有人可以解释一下为什么在我的代码中尝试使用PDO::PARAM_STR时,SLIM3返回一个错误吗?

 $app->add(new \App\Middlewares\BddMiddleware($Cpdo, $Ctwig));

 class BddMiddleware {

    private $pdo;
    private $twig;

    public function __construct($pdo, $twig)
    {
        $this->pdo = $pdo;
        $this->twig = $twig;
    }

    public function __invoke($request, $response, $next){
        $query = $this->pdo->prepare('SELECT * FROM projet WHERE name = :name');
        $query->bindParam(':name', $path, PDO::PARAM_STR);
        $query->execute();
        $projet = $query->fetch();

我不明白...

这是我的容器:

$container['pdo'] = function(){
    $pdo = new PDO('mysql:dbname=portfolio;host=localhost','root','', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
    return $pdo;
};

这也不起作用..

$query->bindParam(':name', $path, $this->pdo(PDO::PARAM_STR));

没有确切的错误信息,我只能猜测。 确保您添加

use PDO;

BddMiddleware类的顶部。

为了能够查看错误消息,请通过更改应用程序配置以包括以下值来打开Slim调试信息:

$config = [  
    'settings' => [
        ...
        'debug' => true,
        'displayErrorDetails' => true,
        ...
    ],
]; 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM