参数号无效:未在查询中定义参数

时间:2016-09-19 09:53:29

标签: php mysql pdo

我试图使用here中的PHP MySQL PDO数据库类来设置我的数据库连接并执行我的查询。但是下面的查询一直告诉我其中一个参数出错。

  

消息:SQLSTATE [HY093]:参数号无效:参数不是   在查询

上定义
$roles = $this->model->query("
   SELECT
      roles.name AS role_name,
      roles.description AS role_description,
      permissions.name AS permission_name,
      categories.name AS categorie_name
   FROM
      roles
      JOIN roles_permissions on roles_permissions.role_id
      JOIN permissions ON roles_permissions.permission_id = permissions.id
      JOIN categories ON categories.id = permissions.categorie_id
   WHERE
      roles_permissions.role_id = roles.id
      AND
      roles.name = :name
   ",
   array(
      "name" => $role
   )
);

这里出了什么问题?

1 个答案:

答案 0 :(得分:-2)

为什么不使用prepare.just就像这样:

$stmt = $pdo->prepare(Yoursqlstatement);
$stmt->execute(array(":name" => $role));