为什么当我尝试在 Slim3 中使用 PDO::PARAM_STR 时,Slim return 出错?
Why when I try to use PDO::PARAM_STR in Slim3, Slim return an error?
有人能解释一下为什么当我尝试在我的代码中使用 PDO::PARAM_STR
时,SLIM3 returns 给我一个错误吗?
$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
class 之上。
要能够查看错误消息,请通过更改应用程序配置以包含以下值来打开 Slim 调试信息:
$config = [
'settings' => [
...
'debug' => true,
'displayErrorDetails' => true,
...
],
];
有人能解释一下为什么当我尝试在我的代码中使用 PDO::PARAM_STR
时,SLIM3 returns 给我一个错误吗?
$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
class 之上。
要能够查看错误消息,请通过更改应用程序配置以包含以下值来打开 Slim 调试信息:
$config = [
'settings' => [
...
'debug' => true,
'displayErrorDetails' => true,
...
],
];