2017-08-25 4 views
-1

UPDATE文を準備:PHP PDOは、これは私のコードです=

私はここにしようとしています何を、私はemaii、パスワードusers_email_verifiedが0に設定されているvalies +に一致するusers_email_verified行を、更新したいです(1にならない)。

0 =未確認 1 =確認済みです。

しかし、私のコードでは何も更新されません。

echo count($result); always echo 0

エラーは表示されていません。私のコードで何が間違っていますか?

+4

あなたがフェッチする前に実行する必要があります – Qirel

答えて

3

1.Youはに必要を最初$stmt->execute())を実行し、その後$stmt->rowCount())をカウントしフェッチ。

2. UPDATEクエリは、正常に実行された後にレコードを返しません。影響を受ける行の数を返します。影響を受ける行の数を取得するには、rowCount()を使用してください。

正しいコード下のチェック: -

$stmt = $conn->prepare("UPDATE site_users SET users_email_verified = :users_email_verified WHERE users_email = :users_email AND users_password = :users_password and users_email_verified = :users_email_not_verified "); 

$users_email_verified = 1; 
$users_email_not_verified = 0; 

$stmt->bindParam(':users_email_not_verified', $users_email_not_verified,PDO::PARAM_STR); 
$stmt->bindParam(':users_email_verified', $users_email_verified,PDO::PARAM_STR); 
$stmt->bindParam(':users_email',$_GET["email"],PDO::PARAM_STR); 
$stmt->bindParam(':users_password',$_GET["token"],PDO::PARAM_STR); 



// The next 2 lines are supposed to count total number of rows effected 

$stmt->execute(); 
$result = $stmt->rowCount(); 
echo $result; 
関連する問題