2017-09-10 105 views
-1
try 
{ 

    $stmt = $conn->prepare(" Update site_users SET users_first_name = :users_first_name, users_last_name = users_last_name 
    ,users_email_verified = :users_email_verified , users_password = :users_password, users_dob_day = :users_dob_day, users_dob_month = :users_dob_month 
    ,users_dob_year = :users_dob_year, users_password_1 = :users_password_1, users_registration_time= :users_registration_time 
    WHERE users_email = :users_email"); 

    $stmt->bindParam(':users_first_name', $_POST["firstname"] , PDO::PARAM_STR); 
    $stmt->bindParam(':users_last_name', $_POST["lastname"] , PDO::PARAM_STR); 
    $stmt->bindParam(':users_email', $_POST["email"] , PDO::PARAM_STR); 
    $stmt->bindParam(':users_password', $hashed_password , PDO::PARAM_STR); 
    $stmt->bindParam(':users_password_1', $_POST["password"] , PDO::PARAM_STR); 
    $stmt->bindParam(':users_email_verified', $users_email_verified , PDO::PARAM_STR); 
    $stmt->bindParam(':users_dob_day', $_POST["day"], PDO::PARAM_STR); 
    $stmt->bindParam(':users_dob_month', $_POST["month"], PDO::PARAM_STR); 
    $stmt->bindParam(':users_dob_year', $_POST["year"], PDO::PARAM_STR); 
    $stmt->bindParam(':users_registration_time',$date, PDO::PARAM_STR); 

    $stmt->execute(); 

} 

catch(PDOException $e) 
{ 
     echo "Error: " . $e->getMessage(); 
} 

這是錯誤,代碼echo錯誤在PHP PDO預處理語句

Error: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens

哪裏是在這段代碼的問題?

+1

「問題出在哪裏?」 →可能是什麼信息「綁定變量數量與令牌數量不匹配」說。 - 你有沒有比較兩個列表?或者這對我們來說是一項自願的額外任務? – mario

回答

3

我認爲你是在你的users_last_name = users_last_name查詢

可能缺少:它必須是users_last_name = :users_last_name