2016-09-19 5 views
0

hereからPHP MySQL PDOデータベースクラスを使用してデータベース接続を設定し、クエリを実行しようとしています。しかし、以下のようなクエリでは、パラメータの1つにエラーがあることがわかります。パラメータ番号が無効です:クエリでパラメータが定義されていません

メッセージ: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

あなたはそれを修正する方法を知っていますか? – CodeWhisperer

+0

このクラスは使用しないでください。代わりにvanilla PDOを使用してください。 –

答えて

-2

なぜこのようinstead.just準備を使用しない:

$stmt = $pdo->prepare(Yoursqlstatement); 
$stmt->execute(array(":name" => $role)); 
関連する問題