2014-04-01 50 views
-2

我有一個與PDO選擇奇怪的問題,所以我來這裏尋求你的幫助。 我有這樣的代碼的下方,即時得到這個錯誤PDO無效的參數編號:參數未定義

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

有人有一個IDEIA爲什麼能夠發生?

我的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); 
} 
+5

您的佔位符爲':userId',但您綁定了':id'。而是在'bindValue()'中綁定':userId'。 –

回答

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); 
+1

謝謝......這是問題所在!我不知道我是怎麼看不到的,我想我已經在這麼多小時後炸了頭!謝謝:) – John23

+0

當你看到時很明顯 – AdRock

相關問題