php - 为什么当我尝试在 Slim3 中使用 PDO::PARAM_STR 时,Slim 会返回错误?
问题描述
有人能解释一下为什么当我尝试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,
...
],
];
推荐阅读
- jquery - 使用 jquery 验证器根据当前年份验证输入的月份
- ios - 具有自定义 UICollectionViewFlowLayout 的 UICollectionView 中的项目在彼此下方而不是在网格中显示项目
- java - 通过 MSGraph API 创建组也不会创建共享点
- heroku - 即使转移到新帐户后,Heroku “免费配额已用完”
- php - 在php中隐藏源地址的同时下载大文件
- django - 为什么related_name 不适用于模型?
- mysql - 如何在 ubuntu ec2 实例中安装 phpmyadmin
- mysql - MYSql 创建表抛出错误:1117 列太多
- flutter - Flutter:像 instagram 一样的 Peek-pop 效果
- python - 如何按顺序返回?就像先返回 a 然后 b