2012-06-30 2 views
1

다음 코드로 테이블을 업데이트하려고하지만 항상 rowcount0으로 가져오고 테이블이 업데이트되지 않습니다. 동일한 쿼리는 phpmyadmin을 사용할 때 테이블을 업데이트합니다.PHP pdo 명령문이 테이블을 업데이트하지 않습니까?

$query="UPDATE userprofile SET password=:newpassword WHERE userid=:userid AND password=:oldpassword"; 
$queryprepare=parent::getPreparedQuery($query); 
$queryprepare->bindParam(':newpassword',$newpassword); 
$queryprepare->bindParam(':userid',$userid); 
$queryprepare->bindParam(':oldpassword',$oldpassword); 
$queryprepare->execute(); 
+1

PHPMyAdmin이 준비된 명령문을 수행 할 수 없다는 것을 고려할 때, 나는 그것이 동일한 쿼리가 아닌지 의심 스럽다. 변수를 확인하고 자신이 생각하는 바를 확인하십시오. 99 %의 가능성이 있습니다. – Corbin

+0

실제로 'this'를 참조하지 않고 클래스 변수를 사용했습니다 – Hitendra

+0

많은 corbin에게 감사드립니다 – Hitendra

답변

0

나는 PDO의 전문가가 아니에요,하지만 테이블 업데이트가 수정 평소와는 커밋 실종에 따라 달라집니다.

어떤 DB (및 ISAM 엔진)를 사용합니까? PDO 설명서를보고

편집

나는이 post of nils andre with my googelian maily accou을 발견하십시오 connecction의 올바른 인코딩에 대해. 나는 어떤 문제를 피하기 위해 보통 같은 enconding (보통 UTF-8)로 모든 체인 (html-page, db-connection, db-column-type)을 설정한다.

비밀번호에 "바이너리"문자가 포함 된 경우 이 일치하지 않으므로 업데이트 할 필요가 없습니다.

가설을 확인하기 위해 이전 암호 조건을 제거하기 만하면됩니다.

+0

나는 mysql 데이터베이스와 스토리지 엔진 = innodb를 사용하고있다. – Hitendra

관련 문제