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();

目前,我收到以下错误:

致命错误:未捕获的异常“PDOException”和消息“SQLSTATE [HY093]:无效的参数号:绑定变量的数量与 /home/content/14/9957114/html/agent-member-index.php 中的令牌数量不匹配” :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. 您不能将值绑定到表名等标识符,只能绑定到values
  2. 您在该查询中有两个?占位符,但只绑定一个值。
于 2012-11-07T07:36:03.677 回答