0

PHPに次のコードがあります。ログイン値をセッション変数からデータベースの SELECT コマンドに渡そうとしています。? セッションで作成されたログインを表します。:

try {    
    $conn = new PDO(A_DB_HOST, A_DB_USER, A_DB_PASSWORD);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}
$member['login'] = $_SESSION['SESS_login'];
$qry=$conn->prepare("SELECT * FROM {?}_clients WHERE login=?");
$qry->bindParam(1, $_SESSION['SESS_login']);
$qry->execute();

現在、次のエラーが発生しています。

致命的なエラー: /home/content/14/9957114/html/agent-member-index.php のメッセージ「SQLSTATE [HY093]: 無効なパラメーター番号: バインドされた変数の数がトークンの数と一致しない」というメッセージを含むキャッチされない例外 'PDOException' :15 スタック トレース: #0 /home/content/14/9957114/html/agent-member-index.php(15): PDOStatement->execute() #1 {main} が /home/content/14/9957114 でスローされる/html/agent-member-index.php 15 行目

どんな助けでも大歓迎です!

4

1 に答える 1

2
  1. 値をテーブル名などの識別子にバインドすることはできません。のみにバインドできます。
  2. そのクエリには 2 つの?プレースホルダーがありますが、1 つの値のみをバインドしています。
于 2012-11-07T07:36:03.677 に答える