PDO参数号无效:未定义参数

时间:2014-04-01 01:30:49

标签: php mysql sql pdo

我对PDO的选择有一个奇怪的问题,所以我来这里寻求你的帮助。 我在下面有这个代码,我得到了错误

    Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: 
parameter was not defined in  `$verifyUser->execute();`

有人有一个想法,为什么会发生这种情况?

我的Php代码:

if(!$_SESSION['result'])
 {
    header('Location: index.php');
 }
else   
{
    $userId = $_SESSION['result']['id'];                
    $verifyUser = $pdo->prepare("SELECT * FROM aadmins where id = :userId");  
    $verifyUser->bindValue(":id", $userId);  
    $verifyUser->execute();
    $num_rows = $verifyUser->rowCount();
    $result = $verifyUser->fetch(PDO::FETCH_ASSOC);
}

1 个答案:

答案 0 :(得分:3)

您在SQL查询中使用:userId,而在bindValue中使用的是:id

$verifyUser = $pdo->prepare("SELECT * FROM aadmins where id = :userId");  
$verifyUser->bindValue(":id", $userId); 

但它在查询和绑定值中应该是相同的。

$verifyUser = $pdo->prepare("SELECT * FROM aadmins where id = :id");  
$verifyUser->bindValue(":id", $userId);